初级会员

- 积分
- 56
- 金钱
- 56
- 注册时间
- 2015-8-9
- 在线时间
- 6 小时
|
5金钱
我是用自己的上位机和组件进行通信。上位机把数据包发给我,组件解析数据包,数据正确,返回指令1(共11个字节有帧头,帧尾和校验),上位机再发下一个数据包,一直到数据包发送完全。如果组件组件解析数据包,数据错误,返回指令2(共11个字节有帧头,帧尾和校验),上位机显示失败。
问题:上位机只能解析两条指令,但有时候通过串口监视工具发现组件返回的指令字节紊乱,多字节,少字节和重复字节的现象?从而导致上位机不能解析命令,导致等待,从而使整个通信卡壳。
1.排除下位机组件的问题,通过排查最后一次发送的数据和串口发送寄存器里的值发现,和正确的指令无差别,但是和PC端的串口监视器检测的数据不同。
2.因为上位机没有容错机制,出现这种情况,我只能让下位机超时重发正确指令,但是通过串口监视器里的数据一样紊乱,这时我把上位机关掉,串口数据监视器显示的数据与我发的类似。这个现象想了很久也是没有明白?
3.有人说是通信中的干扰?和上位机,下位机无关?
4.只是偶发现象,有时候好几次接连成功,有时候接连失败。
求大神,指点 纠结超久
|
|