打印
[AT32F435]

RTT下,串口DMA没反应

[复制链接]
2229|29
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
使用了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的方式打开串口设备。




使用特权

评论回复
5
TimeRiddle| | 2025-4-7 16:09 | 只看该作者
代码贴一下,好分析

使用特权

评论回复
6
sanfuzi| | 2025-5-3 21:54 | 只看该作者
串口通信依赖于时钟信号,若晶振不起振或频率不准确,会影响串口和 DMA 的工作

使用特权

评论回复
7
usysm| | 2025-5-3 22:50 | 只看该作者
串口和 DMA 的引脚连接要正确。比如,串口的 TX、RX 引脚要和对应的 MCU 引脚连接好,DMA 通道的选择要和硬件设计一致。要检查引脚是否有松动、短路等情况。

使用特权

评论回复
8
earlmax| | 2025-5-4 00:21 | 只看该作者
DMA传输地址越界或数据长度配置错误。

使用特权

评论回复
9
sheflynn| | 2025-5-4 03:27 | 只看该作者
使用示波器或逻辑分析仪检查USART/DMA引脚信号是否正常。

使用特权

评论回复
10
biechedan| | 2025-5-4 19:56 | 只看该作者
DMA传输完成后的回调函数已被正确注册并实现。

使用特权

评论回复
11
febgxu| | 2025-5-6 09:59 | 只看该作者
确保 DMA 传输的源地址和目标地址正确。在 RTT 中,要注意缓冲区的地址是否为物理地址。

使用特权

评论回复
12
sheflynn| | 2025-5-6 11:47 | 只看该作者
RTT未正确绑定到UART外设或传输速率不匹配。

使用特权

评论回复
13
ingramward| | 2025-5-6 13:35 | 只看该作者
关闭DMA,改用轮询模式发送数据

使用特权

评论回复
14
sesefadou| | 2025-5-6 15:25 | 只看该作者
串口线接触不良或电平不兼容。              

使用特权

评论回复
15
olivem55arlowe| | 2025-5-6 17:32 | 只看该作者
DMA外设和UART外设的时钟已开启。

使用特权

评论回复
16
maudlu| | 2025-5-6 19:18 | 只看该作者
可以使用示波器观察晶振引脚的波形,判断晶振是否正常工作。

使用特权

评论回复
17
houjiakai| | 2025-5-6 21:01 | 只看该作者
确保 DMA 传输的缓冲区大小足够。如果缓冲区过小,可能会导致数据丢失或传输不完整。

使用特权

评论回复
18
youtome| | 2025-5-6 22:44 | 只看该作者
检查串口的TX、RX引脚是否正确连接。

使用特权

评论回复
19
pl202| | 2025-5-11 10:27 | 只看该作者
监控UART的TX/RX引脚信号,确认数据是否按预期发送。

使用特权

评论回复
20
gygp| | 2025-5-11 12:24 | 只看该作者
驱动未正确实现DMA接收回调或缓存机制,导致数据丢失

使用特权

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

本版积分规则

1

主题

2

帖子

0

粉丝