问题描述
有没有一种简单的方法可以将pyserial串行连接的数据流与arduino同步?我运行的这段简单代码不时给出奇怪的值,我只能假设这是由于位移或垃圾数据造成的。
[4.697265625,4.7021484375,4.6923828125,4.6826171875,4.677734375,4.66796875,4.658203125,....]
然后一些运行我会得到如下所示的数据:
[1.6408595718088704e-28,2.524370304146793e-28,1.640838386579482e-28,1.640838386579482e-28 ... ]
我假设垃圾数据是由于发送的字节不同步(即python程序正在接收下一个数据包的第一个字节和第一个数据包的第2、3、4字节)。
有没有人遇到过这种情况并有解决方案?
这是我用来通过串行端口发送值的代码:
Arduino
void loop(){
double val = 5.0*(analogRead(1))/1024.0;
//Serial.println(val);
sendToPc(&val);
}
void sendToPc(double* data){
byte* byteData = (byte*)(data);
Serial.write(byteData,4);
}
访问它的简单python代码。
Python 代码
self.handle.reset_input_buffer()
self.handle.reset_output_buffer()
while(True):
self.handle.readinto(self.rawData)
rawData 是一个大小为 4 字节的字节数组。
提前致谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)