[应用相关] 同时使用两串口冲突?

[复制链接]
853|18
 楼主| stly 发表于 2020-3-8 15:42 | 显示全部楼层 |阅读模式
同时使能uart2和uart3及两者的DMA功能,发现使能uart3的时候。uart2的dma接收数组数据全为零,但是用库函数 USART_ReceiveData(USART2)可以收到数据。将uart3的接收gpio的初始化 GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_11去掉,uart2的dma可以接收数据。
supernan 发表于 2020-3-8 15:49 | 显示全部楼层
别用dma试试 我感觉没压力啊
chenjunt 发表于 2020-3-8 15:53 | 显示全部楼层
STM103中,我没有用DMA,我测试过5串口同时用,没有问题。
lium 发表于 2020-3-8 15:58 | 显示全部楼层
恩 我用普通的也没啥问题
langgq 发表于 2020-3-8 16:02 | 显示全部楼层
四个串口+DMA工作都没问题,两个更不会存在问题了,还是多检查自己写的代码哪里有问题
huwr 发表于 2020-3-8 16:05 | 显示全部楼层
  那应该就是设置问题了,因为我没有使用过DMA,所以对后面的设置不了解,不敢乱发言。
 楼主| stly 发表于 2020-3-8 16:09 | 显示全部楼层
目测就是程序上的问题。没找到原因
dingy 发表于 2020-3-8 16:16 | 显示全部楼层
很正常的,我一个Keil设置问题,搞了很多天。
houcs 发表于 2020-3-8 16:19 | 显示全部楼层
多检查自己写的代码哪里有问题吧
lium 发表于 2020-3-8 16:23 | 显示全部楼层

我很少用dma 但是普通情况下么以偶出现过这种现象
wangzsa 发表于 2020-3-8 16:26 | 显示全部楼层
看来32的DMA比较难搞啊。
 楼主| stly 发表于 2020-3-8 16:32 | 显示全部楼层
把两个uart的rxne禁用了,反正也不需要帧长度
zhuhuis 发表于 2020-3-8 16:36 | 显示全部楼层
目测是程序的问题
songqian17 发表于 2020-3-8 16:47 | 显示全部楼层
请问楼主找到哪里的设置有问题了么
 楼主| stly 发表于 2020-3-8 16:51 | 显示全部楼层
dma用idle中断就可以,把RXNE中断关掉了
houcs 发表于 2020-3-8 16:55 | 显示全部楼层
哦哦哦  感谢解惑啊
chenjunt 发表于 2020-3-8 16:58 | 显示全部楼层
很可能是程序上的问题,检查一下配置
 楼主| stly 发表于 2020-3-8 17:01 | 显示全部楼层

嗯,我再好好缕一缕吧,有了好消息及时通知大家
yizushijie 发表于 2020-3-10 09:37 | 显示全部楼层
你的缓存区是分别的吗?我同时使用USART1和USART3,全是IDLE中断配合DMA,实现全中断方式发送。目前没有发现问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

433

主题

7058

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部