Python中串行接收的数据

2024-09-28 15:07:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Raspberry Pi UART上进行了配置,这是我的串行读/写代码:

ser = serial.Serial('/dev/ttyAMA0', 9600, timeout=1)
ser.open()
string = '#SET0\r\n'
print string
ser.write(string)
bytes2read = ser.inWaiting()
print bytes2read
if (ser.inWaiting()>0):
  incoming = ser.readline()
  print incoming
time.sleep(5)
bytes2read1= ser.inWaiting()
print bytes2read1
if (ser.inWaiting()>0):
  print "Data:"
  cont = ser.read(bytesaleer1)
print cont

cont的格式如下:

^{pr2}$

我的问题是,如何获取并保存该变量的最后0?我想保存从cont;10,56,23和90得到的c0,c1,c2,c3值。 试过了线条条但是没有好的结果。在


Tags: 代码stringifserialpiraspberryserprint
1条回答
网友
1楼 · 发布于 2024-09-28 15:07:37

如果cont是一个包含所有五行文本的字符串,包括分隔符行,我首先将其拆分为多行:

cont.splitlines()
    => [ '#D0:0:0:10',
         '#D1:0:0:56',
         '#D2:0:0:23',
         '#D3:1:1:90',
         '    ' ]

然后你可以循环所有的行,如果这行包含一个冒号,则提取最后一个值并保存它。在

^{pr2}$

相关问题 更多 >