打印
[AT32F435]

RTT下,串口DMA没反应

[复制链接]
347|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
使用了RTT STUDIO,参考了官网rtt官方的DMA的例程,没有接受的处理。
但是参考了RTT的中断又没有问题。

已经在board.h里,设置好了,同时在setting里也开启了DMA
#define BSP_USING_UART2
#define BSP_UART2_TX_PIN       "PA2"
#define BSP_UART2_RX_PIN       "PA3"
#define BSP_UART2_RX_USING_DMA


使用特权

评论回复
沙发
codercmd|  楼主 | 2025-3-28 22:47 | 只看该作者
之前是使用STM32L435 DMA 串口开发的,业务扩展,AT32F435有8个串口准备移植到AT32来。
发现at32用RTT官方的驱动DMA,不起作用。

使用特权

评论回复
板凳
yzdel7| | 2025-3-29 18:45 | 只看该作者
STM32L4系列的串口DMA是直接挂在DMA1七个通道里面的channel6和channel 7上,而AT32F32跟STM32 DMA的机制有些区别,AT32的DMA还有个复用器,所以可能要修改RTT DMA的BSP。

使用特权

评论回复
地板
sheltonyu| | 2025-3-31 09:45 | 只看该作者
本帖最后由 sheltonyu 于 2025-3-31 10:02 编辑

你好,有以下几点请注意一下:
1. 是某个串口的dma不能用还是所有串口dma都无法使用?
    dma外设通道设置默认进行了排布,外设间可能存在互斥导致没有实际开启,详见dma_config.h文件
2. debug确认一下setting里的串口dma支持是否有正确打开。
    打开后会生成RT_SERIAL_USING_DMA宏定义。
3. 如何判断的dma没起作用?
    串口接收是按loop buffer的方式不停的接收数据,收到数据时dma就自动进行收数据。4. 要以DMA的方式打开串口设备。




使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝