python 串口data_ser.read_until(b"\r\n") 读取 b'\x11\x06\xf5\xda\r\n' 就卡住了
时间: 2023-07-09 20:55:09 浏览: 342
串口数据的读取
3星 · 编辑精心推荐
`read_until` 方法会一直等待串口接收到指定的终止符(`b"\r\n"`)后才会返回读取到的数据。如果接收不到终止符,就会一直等待下去,导致程序卡住。
可能的原因有:
1. 没有收到终止符:检查一下发送端是否正确发送了数据,并且包含了终止符。
2. 终止符不正确:检查一下接收端是否正确设置了终止符,以及终止符是否正确匹配。
3. 串口通信参数不正确:检查一下串口通信的波特率、数据位、停止位和校验位等参数是否正确设置,否则可能导致数据接收错误。
建议尝试以下方法:
1. 尝试更换终止符,比如尝试使用 `b"\n"` 或者其他自定义的终止符。
2. 在读取数据之前,先设置一个超时时间,在超时时间内如果没有读取到数据就返回一个空值或者异常。
3. 检查一下串口通信参数是否正确设置,如果不确定可以尝试使用串口调试工具进行调试。
阅读全文