我想采集从CAN转串口来的数据,能不能设置采集的起始数据?
举个例子,我想采集的数据是
88 0C F0 04 00 FF FF 87 E0 14 00 FF FF
88 0C F0 04 00 FF FF 87 E0 14 00 FF FF
88 0C F0 04 00 FF FF 87 E0 14 00 FF FF
88 0C F0 04 00 FF FF 87 E0 14 00 FF FF
... ...
我想从88开始采集,而且不想漏帧,有没有函数可以设置我串口读取的起始数字?
Michael99 写:我想采集从CAN转串口来的数据,能不能设置采集的起始数据?
举个例子,我想采集的数据是
88 0C F0 04 00 FF FF 87 E0 14 00 FF FF
88 0C F0 04 00 FF FF 87 E0 14 00 FF FF
88 0C F0 04 00 FF FF 87 E0 14 00 FF FF
88 0C F0 04 00 FF FF 87 E0 14 00 FF FF
... ...
我想从88开始采集,而且不想漏帧,有没有函数可以设置我串口读取的起始数字?
串口通讯只能设置结束符,无法设置开始字符。解决方法很多。
1、设置FF为结束符,读到FF后,立即返回,因此需要连续读两次为一完整帧。
2、设置88为结束字符,这样读到的是前一个完整帧,
3、清空缓冲区后,一次读一个字符,直到读取88后,在读取帧的剩余字节,然后正式读取帧格式,按照规定帧的字节数。
4、一次读取几帧字节,自己拼装成完整帧