Пытаясь прочитать данные из последовательного порта с помощью модуля pySerial, я не могу восстановить данные, которые я отправляю с микроконтроллера (MSP430).
Микроконтроллер запрограммирован следующим образом:
Serial.print(0x20); //32 in decimal
delay(200);
Serial.print(0x20); //32 in decimal
delay(200);
Serial.print(0x00); //0 in decimal
delay(500);
Serial.print(0x15); //21 in decimal
delay(500);
Приведенный выше код выполняется в бесконечном цикле.
В коде Python я просто читаю 120 байт, используя следующий код, и проверяю переменную последовательного порта.
import serial
ser = serial.Serial('/dev/ttyACM1', 115200, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS,)
cycles_needed = 120
chars=[]
s=ser.read(cycles_needed)
for i in range(len(s)):
print s[i]
Вывод приведенного выше кода
3
2
3
2
0
2
1
3
2
3
2
0
2
1
Может кто-нибудь объяснить мне, почему данные разбиты на кусочки, в то время как в идеале он должен считывать данные последовательно, байт за байтом.