python3.6 串口读取16进制不用0a作为换行 用\r\n作为结束
时间: 2023-07-08 18:55:31 浏览: 101
可以使用 pySerial 库来读取串口数据,同时指定 "\r\n" 作为结束符。以下是一个示例代码:
```python
import serial
ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1) # 打开串口
ser.flushInput() # 清空输入缓存
while True:
data = ser.readline().rstrip() # 读取一行数据并去除结尾的换行符
if data:
print(data)
```
在上面的代码中,`serial.Serial()` 函数用于初始化一个串口对象,其中第一个参数是串口的设备路径,第二个参数是波特率,第三个参数是超时时间。`ser.flushInput()` 用于清空输入缓存,以免读取到之前的数据。在 `while` 循环中,`ser.readline()` 函数可以读取一行数据,其返回值是一个字节串,需要使用 `rstrip()` 方法去除结尾的换行符。如果读取到了数据,就可以进行相应的处理,例如打印到控制台或者进行解析。
阅读全文