GD32F470VI USART5 + DMA异常

[复制链接]
2542|19
 楼主| 古月魂 发表于 2023-2-18 16:54 | 显示全部楼层 |阅读模式
USART5使用DMA接收和发送异常,IDLE可以被触发,查询DMA无数据;发送使用DMA也发送不出去,但轮询发送正常。(使用CUBEMX配置STM32F429VI的USART6,程序下载至GD32F470VI,USART5 DMA+IDLE收发是正常的),可以判断硬件无问题。已经按照F45x/F40x的勘误手册,增加了DMA标志清除处理,还是不行。同样的架构,USART0、USART1、USART2使用正常。
9155263f08a2857ee1.png
2667563f08a611c549.png

USART5的IO初始化,和USARTx配置框架:
7063463f08abcedb89.png
5840763f08af281a67.png
接收发送DMA配置框架
4850063f08b0196a5c.png
2895663f08b0faff69.png

USART1和USART5初始化配置
9358263f08b9a54cc1.png
主程序配置USARTx
1767563f08bacc6166.png

USARTx使用DMA发送数据
4773763f08c026787e.png

USARTx接收IDLE和发送完成中断处理
8108863f08c2d89dd2.png
USART1和USART5中断响应
4494463f08c5843f92.png
18363f08ad23118f.png

代码.zip

3.39 KB, 下载次数: 11

caizhiwei 发表于 2023-2-19 11:44 | 显示全部楼层
有空看看,是官方历程里的吗?
 楼主| 古月魂 发表于 2023-2-20 09:17 | 显示全部楼层
caizhiwei 发表于 2023-2-19 11:44
有空看看,是官方历程里的吗?

DMA配置是参照例程的。手里有这款片子,可以测试下USART5,是不是也有问题
guijial511 发表于 2023-2-20 19:08 来自手机 | 显示全部楼层
用ST的配置反而还可以?
 楼主| 古月魂 发表于 2023-2-27 15:37 | 显示全部楼层
guijial511 发表于 2023-2-20 19:08
用ST的配置反而还可以?

实测可以
t714664420 发表于 2023-3-1 10:48 | 显示全部楼层
您好,您了解gd32f470 dac+dma相关吗?
 楼主| 古月魂 发表于 2023-3-1 15:27 | 显示全部楼层
t714664420 发表于 2023-3-1 10:48
您好,您了解gd32f470 dac+dma相关吗?

官网下载“GD32F4xx_Firmware_Library”,里面有应用示例。
Jacquetry 发表于 2023-3-2 19:10 | 显示全部楼层
st库兼容性这么强?
ingramward 发表于 2023-3-4 19:56 | 显示全部楼层
如何用dma控制usart发送数据
pixhw 发表于 2023-3-4 20:38 | 显示全部楼层
1、首先初始化USART,打开DMA1的外设时钟。2、其次初始化DMA数据流,使能中断其数据。3、最后即可请求dma了。
bestwell 发表于 2023-3-4 21:19 | 显示全部楼层
spi1的dma可以和usart3的dma一起用么
louliana 发表于 2023-3-4 22:38 | 显示全部楼层
usart的DMA方式发送 一个数 ,程序怎么写?
xiaoyaodz 发表于 2023-3-5 10:19 | 显示全部楼层
usart的DMA方式发送 一个数 ,程序怎么写?
chenci2013 发表于 2023-3-7 19:42 | 显示全部楼层
1、首先初始化USART,打开DMA1的外设时钟。2、其次初始化DMA数据流,使能中断其数据。3、最后即可请求dma了。
zerorobert 发表于 2023-3-7 20:22 | 显示全部楼层
如何用dma控制usart发送数据
updownq 发表于 2023-3-7 21:44 | 显示全部楼层
spi1的dma可以和usart3的dma一起用么
ambitionXw 发表于 2023-3-9 12:37 | 显示全部楼层
你好,我最近也刚接触GD32F470的东西,可以请教你一下吗?
guozq980 发表于 2023-3-23 09:08 | 显示全部楼层
古月魂 发表于 2023-2-20 09:17
DMA配置是参照例程的。手里有这款片子,可以测试下USART5,是不是也有问题 ...

遇到同样问题
guozq980 发表于 2023-3-23 09:37 | 显示全部楼层
dma_channel_subperipheral_select(DMA1, DMA_CH6, DMA_SUBPERI5);
 楼主| 古月魂 发表于 2023-3-28 19:57 | 显示全部楼层
guozq980 发表于 2023-3-23 09:37
dma_channel_subperipheral_select(DMA1, DMA_CH6, DMA_SUBPERI5);

感谢,没注意外设配置,对应好后问题解决。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

6

帖子

0

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