现在手上有一个传感器,测量结果用串口输出,输出频率1HZ。输出的格式是帧数据(十六进制)的形式,帧头是0XAA 0XAA,始终检测不到帧头。
做了以下实验:
1、用传感器与PC端直连,用串口助手查看结果,可以检测到帧头,且数据正常。
2、用
单片机与PC端直连,用单片机发送消息,波特率9600,数据位8,正常
通信。
3、用单片机与传感器相连,按上述2个实验,波特率应该无误。但是帧数据是15个字节,每次只能收到13个字节。
问:
1、既然波特率无误,为什么会漏掉2个字节内容,而且每个周期都一样呢?
2、我尝试在接收中断里用if(Buffer==某个特定字节),在检测过程中,经常出现跳帧的情况,本来应该1s能够检测到1个,但实际上,有时候会突然漏掉一个,下一秒又正常了。这又是为什么呢?
希望各位前辈能不吝赐教。
2、将传感器与单片机相连,1602有时候接收后不显示,有时候显示16*2个0.是否哪里时序不对?
一周热门 更多>