У меня есть 2 последовательных порта на Raspberry Pi. В настоящее время код считывает данные с порта 1 и записывает их на порт 2 и наоборот. Я пытаюсь разделить входные данные, которые я читаю с обоих портов, и разделить их на различные сообщения (группы символов) на основе указанного символа (например, # или!)
Кроме того, как можноВ конце я изменяю текущий цикл for, чтобы можно было разделять сообщения для обоих портов, в настоящее время код записывается только для разделения данных с 1 порта.
Я уже пробовал split (), и он выдает ошибку типа. Причина может заключаться в том, что последовательный ввод может быть другого типа
import serial
ser1 = serial.Serial('/dev/ttyUSB0', timeout=2)
ser2 = serial.Serial('/dev/ttyUSB1', timeout=2)
print (ser1)
print (ser2)
ser1_list = []
ser2_list = []
while (True):
data1 = ser1.readlines()
data2 = ser2.readlines()
if data1 or data2:
ser1_list.extend(data1)
ser2.writelines(data1)
byte_split1 = ser1_list.split("1")
ser2_list.extend(data2)
ser1.writelines(data2)
byte_split2 = ser1.split('1')
for x in byte_split1:
print(x)
else:
break
ser1.close()
ser2.close()
Пример ожидаемого результата: Если ввод:
abcde#fghi#jklmnop#
, он будет выводить:
abcde
fghi
jklmnop