OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5892|回复: 3

两个stm32之间通过zigbee串口透传遇到的奇怪问题

[复制链接]

3

主题

6

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2017-8-1
在线时间
4 小时
发表于 2018-5-15 21:16:05 | 显示全部楼层 |阅读模式
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贴一下。还望各位看一下,谢谢各位指教呢。

3.jpg
2.jpg
1.jpg
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

6

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2017-8-1
在线时间
4 小时
 楼主| 发表于 2018-5-15 21:24:08 | 显示全部楼层
用串口助手测f1接的zigbee收到的数据,看,第一位变为02的概率还挺高的,说明不是偶然呀..
5.jpg
回复

使用道具 举报

1

主题

882

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3071
金钱
3071
注册时间
2018-2-7
在线时间
285 小时
发表于 2018-5-16 09:26:11 | 显示全部楼层
直接用两个USB转串口连接两个zigbee模块,用电脑互发数据看看是不是zigbee模块的问题。
回复

使用道具 举报

26

主题

355

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1770
金钱
1770
注册时间
2017-4-1
在线时间
432 小时
发表于 2018-7-12 18:03:41 | 显示全部楼层
先排查硬件,发送端芯片TX和接收端Zigbee模块RX直接电脑检测一下,如果没有问题就是透传过程出问题了,再判断是不是软件处理错了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 05:49

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表