我有一个 Tiva LaunchPad,我一直通过 Python 和 PySerial 与之通信。我刚刚设置了一个新的 Debian 盒子,它的主要功能是与 LaunchPad 进行通信。
我惊讶地发现我一直使用的 921600kBaud 速率在新的 Debian 机器上不起作用,但是 230400kBaud 是成功的。
有没有好的方法,也许通过串行或操作系统 python 调用来确定平台可以处理的最大波特率?
所以在我打开一条串行线路之前,我可以确定波特率是否真的可以工作。
就像是:
def baudtestfunction(b):
# test for valid baud rate here
[if valid baud]:
return True
[else invalid baud:]
return False
if (baudtestfunction(_baud) == True):
ser = serial.Serial(
port = _port,
baudrate = _baud,
parity = serial.PARITY_NONE,
stopbits = serial.STOPBITS_ONE,
bytesize = serial.EIGHTBITS
)
else:
printf "The chosen baud rate will not work on this platform"
exit()
在 Debian 盒子上,如果我将 _baud 设置为 921600,它似乎打开了串行连接,它只是无法正确发送/接收数据。我无法确定是串行连接不工作还是 Tiva 本身不工作。