中的不可见字符
我正在研究一个项目,在角度传感器(通过微)与python GUI之间进行通信
我试图通过UART从微控制器发送2字节的数据(~范围从0-360,在255之后超过1字节)
这就是我如何分割数据,并将它们合并在接收端
angle = readangle();
send[0] = angle ;
send[1] = angle >> 8;
回到python
self.ser = serial.Serial("COM6", 115200, timeout=0.05)
f = self.ser.readline(2)
.
.
.
.
x = ord(self.f[1])
x = x << 8 | ord(self.f[0])
self.angle = x # this updates the angle value in the GUI
它几乎总是给出正确的值,但是!值突然指向零,这使得我的GUI进行深入研究(每30-50个样本中一次)
<>之前% up0EEA $³我在这里³179% up0EEA $³我在这里³179...% up0EEA $E我在这里E202% up0EEA $c我在这里c231% up0EEA $我在这里257% up0EEA $我在这里261% up0EEA $Í—HERE("在ASCII码之前有空格吗?")我在这里我0% up0EEA $"我在这里"——又来了!!"0% up0EEA $我我在这里我238之前AND NOW !!我突然想到如何去掉串行数据
我认为我的代码有许多self.ser.open()
和self.ser.close()
命令self.ser.flushInput()
解决了我的问题
f = self.ser.readline()
self.ser.flushInput()