OpenEdv-开源电子网

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

又遇到诡异的问题。求大神指点,没什么分只有这么多了。

[复制链接]

4

主题

14

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2014-8-30
在线时间
4 小时
发表于 2018-4-30 17:26:14 | 显示全部楼层 |阅读模式
30金钱
STM32f103zet6最小系统板,执行原子例程中的串口实验,用USB转串口模块连接PA9、PA10发送接收都没问题。
同样是这个USB转串口模块和主板中间用一对无线透传模块连接就只能接受到主板不停发来的提示信息,向主板发送数据无回显。
这个时候马上把透传模块连主板那一端的RX、TX用导线连接,发送数据后马上返回数据。说明主板端的PA10是有数据的。
但是没进中断。经过多种方式可以确定是UART1没有进中断。但用导线直连可以进中断并且能正确返回数据。
尝试在PA10端加上拉电阻也无效。
现在情况分析是这样:
首先可以肯定是程序没问题原子哥的源码还是值得信赖的,当然主要是因为用导线连接没问题可以确定不是代码问题。
第二透传模块是没问题的,透传模块无论是Rx、TX端直接短接还是分别连两个USB转串口模块数据接受发送都正常。
第三也不会是波特率的问题,因为能正确接收到主板发来的数据。
就是当透传模块一端接USB转串口另一端接STM32主板就有问题主板向USB转串口端发送数据没问题,接受USB转串口模块端的数据收不到。也就是进不了中断。不知是什么问题。
另外,我无意间发现另一个程序(不是原子哥的程序)用的UART2端口发送接受,用UART2时连透传模块又没问题,但那个程序改为UART1时出现同样的问题。
难道STM32主板的UART1和UART2在设计上有什么不一样么。但要怎么处理呢?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165537
金钱
165537
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-5-1 01:26:18 | 显示全部楼层
应该是一样的,你的无线模块是什么型号?
回复

使用道具 举报

4

主题

14

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2014-8-30
在线时间
4 小时
 楼主| 发表于 2018-5-1 21:11:44 | 显示全部楼层
蓝牙 XM-10B BLE 还有一对射频模块深联创新的 DL21,都是一样的现象。
回复

使用道具 举报

4

主题

14

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2014-8-30
在线时间
4 小时
 楼主| 发表于 2018-5-1 21:26:33 | 显示全部楼层
而且核心板也换了两种不同牌子的。都是同样的问题,串口1接模块无法接收数据导线直连没问题。而且无论哪种板子换串口2就正常。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165537
金钱
165537
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-5-2 01:06:41 | 显示全部楼层
mcwolf 发表于 2018-5-1 21:26
而且核心板也换了两种不同牌子的。都是同样的问题,串口1接模块无法接收数据导线直连没问题。而且无论哪种 ...

不应该,我们的蓝牙串口模块,就可以无线收发的。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

882

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3071
金钱
3071
注册时间
2018-2-7
在线时间
285 小时
发表于 2018-5-2 08:51:19 | 显示全部楼层
把透传模块都连接到电脑上,互相收发看看是否正常。然后再用电脑通过透传模块给单片机发,单片机接收到的数据通过串口打印出来。然后再通过透传模块用单片机给电脑发,如果这些都没有问题,在测试通过电脑和单片机用互传模块双向通信。有可能是你的收发数据速度太快了,透传模块在传输数据的时候会有延时。如果单片机接收到的数据还没发送时又接到了新的数据,可能会导致数据异常。
回复

使用道具 举报

4

主题

14

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2014-8-30
在线时间
4 小时
 楼主| 发表于 2018-5-11 11:32:10 | 显示全部楼层
HXYDJ 发表于 2018-5-2 08:51
把透传模块都连接到电脑上,互相收发看看是否正常。然后再用电脑通过透传模块给单片机发,单片机接收到的数 ...

这种方式试过。透传连上串口1就不行。如果让单片机不停向电脑发数据没问题,能正确接收。如果向单片机发数据再打印或者用usart_Send函数都不行,而且可以肯定是没有进中断。而且换两种不同主板都有这个问题。你们没这个问题吗?
回复

使用道具 举报

10

主题

196

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
390
金钱
390
注册时间
2018-3-20
在线时间
80 小时
发表于 2018-5-11 11:49:05 | 显示全部楼层
是不是GPIOA9、10的输入输出模式不对。。。。。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-14 10:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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