本帖最后由 qwgele 于 2014-10-21 20:26 编辑
file:///C:UsersasusAppDataRoamingTencentUsers422310901QQWinTempRichOle6}5_PK2_DH)5K_AJNFQ59JX.png下位机传入的数据一帧33个字节,都是以十六进制发送的,50ms发送一次
数据有包头0x55,还有一个起始位0x51之后是我需要的数据,我想匹配之后可以拆分出我需要的数据,结果死活弄不出来,已经弄了快大半天了,求助!
上图显示匹配根本没起作用,而且我接受数据也有问题,不是按帧接受的,是混在一起的,和定时器有关系吗?也求解答啊!真的谢谢回答啦!
-
没有解决,直接忽略了这个问题,加入了错误帧判断的逻辑,有冲突的数据帧当成错误帧舍去,这样虽然数据会有丢失,但是总体不影响我的软件使用。目前也还不知道怎么彻底解决这个问题。
固定读取的字节数,当串口接收不到数据时就会进入超时等待,造成软件卡死的假象。而且当数据帧比较长的时候,固定接收字节数,也一样是有冲突的。根本原因是visa设备的读取频率和单片机的数据发送频率不同步
、
因为上位机是被动等待,while循环查询串口,visa设备的超时时间比较长,单片机不是总是在发数据的,按键退出while循环的时候,就会有卡顿出现,会影响使用体验。
第一天就加入了这个群,当天本来打算进来感谢您的,但是找不到贴了(我可能有点傻啊)。今天又看见了表示谢谢哦
一周热门 更多>