OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子全套STM32开发资料,上千讲STM32视频教程,RT1052教程免费下载啦...

查看: 310|回复: 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
回复

使用道具 举报

  离线 

3

主题

6

帖子

0

精华

新手上路

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

使用道具 举报

  离线 

0

主题

406

帖子

0

精华

高级会员

Rank: 4

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

使用道具 举报

  离线 

15

主题

131

帖子

0

精华

中级会员

Rank: 3Rank: 3

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

使用道具 举报

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

本版积分规则




关闭

必看:"原子哥”力荐上一条 /1 下一条

QQ|联系我们|手机版|官方淘宝店|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2018-8-19 14:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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