【发布时间】:2015-09-20 05:16:51
【问题描述】:
尝试使用 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
谁能解释一下为什么数据被分成半字节,而理想情况下,它必须逐字节串行读取数据。
【问题讨论】: