GD32F470VI USART5 + DMA异常
USART5使用DMA接收和发送异常,IDLE可以被触发,查询DMA无数据;发送使用DMA也发送不出去,但轮询发送正常。(使用CUBEMX配置STM32F429VI的USART6,程序下载至GD32F470VI,USART5 DMA+IDLE收发是正常的),可以判断硬件无问题。已经按照F45x/F40x的勘误手册,增加了DMA标志清除处理,还是不行。同样的架构,USART0、USART1、USART2使用正常。USART5的IO初始化,和USARTx配置框架:
接收发送DMA配置框架
USART1和USART5初始化配置
主程序配置USARTx
USARTx使用DMA发送数据
USARTx接收IDLE和发送完成中断处理
USART1和USART5中断响应
有空看看,是官方历程里的吗? caizhiwei 发表于 2023-2-19 11:44
有空看看,是官方历程里的吗?
DMA配置是参照例程的。手里有这款片子,可以测试下USART5,是不是也有问题 用ST的配置反而还可以? guijial511 发表于 2023-2-20 19:08
用ST的配置反而还可以?
实测可以 您好,您了解gd32f470 dac+dma相关吗? t714664420 发表于 2023-3-1 10:48
您好,您了解gd32f470 dac+dma相关吗?
官网下载“GD32F4xx_Firmware_Library”,里面有应用示例。 st库兼容性这么强? 如何用dma控制usart发送数据 1、首先初始化USART,打开DMA1的外设时钟。2、其次初始化DMA数据流,使能中断其数据。3、最后即可请求dma了。 spi1的dma可以和usart3的dma一起用么 usart的DMA方式发送 一个数 ,程序怎么写? usart的DMA方式发送 一个数 ,程序怎么写? 1、首先初始化USART,打开DMA1的外设时钟。2、其次初始化DMA数据流,使能中断其数据。3、最后即可请求dma了。 如何用dma控制usart发送数据 spi1的dma可以和usart3的dma一起用么 你好,我最近也刚接触GD32F470的东西,可以请教你一下吗? 古月魂 发表于 2023-2-20 09:17
DMA配置是参照例程的。手里有这款片子,可以测试下USART5,是不是也有问题 ...
遇到同样问题 dma_channel_subperipheral_select(DMA1, DMA_CH6, DMA_SUBPERI5); guozq980 发表于 2023-3-23 09:37
dma_channel_subperipheral_select(DMA1, DMA_CH6, DMA_SUBPERI5);
感谢,没注意外设配置,对应好后问题解决。
页:
[1]