OpenEdv-开源电子网

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

STM32H743串口dma接收问题

[复制链接]

9

主题

82

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
416
金钱
416
注册时间
2018-6-6
在线时间
126 小时
发表于 2022-4-19 10:21:57 | 显示全部楼层 |阅读模式
5金钱
串口dma在上电后接收几笔正常数据以后每次只能接收第一个字节的数据。debug查看发现进入非正常状态时DMAR何EIE寄存器被置零。



以下是配置代码





最佳答案

查看完整内容[请看2#楼]

问题已解决,HAL_UART_Transmit()发送数据时会调用 __HAL_LOCK(huart);在未解锁的时候来了接收中断就会导致HAL_UART_Receive_DMA()返回busy
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

82

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
416
金钱
416
注册时间
2018-6-6
在线时间
126 小时
 楼主| 发表于 2022-4-19 10:21:58 | 显示全部楼层
本帖最后由 WadeWww 于 2022-4-20 17:23 编辑

问题已解决,HAL_UART_Transmit()发送数据时会调用 __HAL_LOCK(huart);在未解锁的时候来了接收中断就会导致HAL_UART_Receive_DMA()返回busy
回复

使用道具 举报

9

主题

82

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
416
金钱
416
注册时间
2018-6-6
在线时间
126 小时
 楼主| 发表于 2022-4-19 10:27:07 | 显示全部楼层
在进入非正常状态时DMAR和EIE寄存器被置0了
微信截图_20220419102423.png
微信截图_20220419102417.png
微信截图_20220419102408.png
微信截图_20220419102402.png
微信截图_20220419102345.png
微信截图_20220419102310.png
微信截图_20220419102322.png
微信截图_20220419102246.png
微信截图_20220419102231.png
回复

使用道具 举报

4

主题

456

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1072
金钱
1072
注册时间
2021-4-26
在线时间
352 小时
发表于 2022-4-19 11:03:52 | 显示全部楼层
回复

使用道具 举报

9

主题

82

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
416
金钱
416
注册时间
2018-6-6
在线时间
126 小时
 楼主| 发表于 2022-4-19 11:20:47 | 显示全部楼层
发现关闭缓存以后数据接收正常,但是打开缓存接收就有问题
回复

使用道具 举报

9

主题

82

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
416
金钱
416
注册时间
2018-6-6
在线时间
126 小时
 楼主| 发表于 2022-4-19 11:21:46 | 显示全部楼层
本帖最后由 WadeWww 于 2022-4-19 11:23 编辑

他的程序没有使能iram1区域内存。我的是有使能这块区域的
回复

使用道具 举报

9

主题

82

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
416
金钱
416
注册时间
2018-6-6
在线时间
126 小时
 楼主| 发表于 2022-4-20 08:55:15 | 显示全部楼层
已解决,问题出在串口发数据的同时也在收数据,HAL_UART_Transmit()函数在发送的时候会调用__HAL_LOCK()函数,在未解锁的时候中断里面调用HAL_UART_Receive_DMA()函数会导致HAL_UART_Receive_DMA()返回BUSY。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-25 21:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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