新手上路
- 积分
- 39
- 金钱
- 39
- 注册时间
- 2017-8-1
- 在线时间
- 4 小时
|
10金钱
问题描述:各位,我用stm32f4做数据输出传到另一块f1的板子,用zigbee做串口透传,就传10个数,其中首位设置成01做识别码,后两位0d 0a是结束码。中间八个数分别就是11,22,33...没什么特殊的,但是发现透传到f1时检测f1收到的数据,第一位经常会变,比如我首位设置成01,就会经常变成02,而且只会变成02。设置成别的数,就会变成另一个数,而且只会变成那个数。自己的检查排错:1.f4的串口我测过,发送出来的数据正常。
2.波特率均为115200确认过了。然后尝试排除zigbee直接两个串口相连,数据正常。确认为zigbee让首位发生变化..?(因为之前也用这个代码做透传正常,但是这次发现这个问题。)所以麻烦这里懂的人能否点破一下老弟看看是哪里的问题,我贴一下zigbee的代码。还望各位指教。
第一个图这个是串口收到信息的处理函数(一直用的这个):
第二个是收到zigbee无线信息透传的串口处理函数:
第三个是zigbee无线信息数据发送函数:
还需要什么代码我可以继续贴,通道还要PANID还有传播方式波特率设置这些都是正确的,不对的话就不能只有第一位会变吧。如果透传这里没错的话我想是f1串口处理函数的错误,串口中断用的是原子的函数。图片4贴一下。还望各位看一下,谢谢各位指教呢。
|
|