我有一个Tiva LaunchPad,我一直在通过Python和PySerial进行通信。我刚刚设置了一个新的Debian框,其主要功能是与LaunchPad进行通信。
我很惊讶地发现我使用的921600k波特率在新的Debian盒子上没有用,但230400kBaud成功了。
有没有一种好方法,可能通过串口或os 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本身无法正常工作。