打印
[其他ST产品]

STM32f4 串口DMA配置与使用(含代码)

[复制链接]
手机看帖
扫描二维码
随时随地手机跟帖
21
ulystronglll| | 2023-10-5 11:41 | 只看该作者 回帖奖励 |倒序浏览
如果接收的数据是定长的且是连续的,可以使用串口空闲中断。

使用特权

评论回复
22
vivilyly| | 2023-10-7 13:34 | 只看该作者
在串口DMA使用中需要配置DMA缓存区的大小、位置等参数,DMA缓存区能够满足串口数据的传输需求。

使用特权

评论回复
23
plsbackup| | 2023-10-7 14:17 | 只看该作者
DMA缓存的配置需要根据实际情况选择适当的参数,如缓冲区大小、缓存类型等, 保数据传输的效率和稳定性。

使用特权

评论回复
24
belindagraham| | 2023-10-7 21:57 | 只看该作者
如果启用了DMA传输中断,需要编写相应的中断处理函数。

使用特权

评论回复
25
earlmax| | 2023-10-7 22:11 | 只看该作者
在使用DMA接收数据时,需要注意避免出现ORE上溢错误。如果在串口初始化并使能DMA之前有数据来,MCU是不能接收的。如果此时数据寄存器USART_DR存在一个数据,再来一个数据,就会导致ORE上溢错误。一旦产生上溢错误后,就无法再触发DAM请求,即使之后再启动DMA也不行,无法触发DMA请求就无法将数据寄存器内的数据及时转移走,如此陷入死锁。

使用特权

评论回复
26
Jacquetry| | 2023-10-7 22:49 | 只看该作者
空闲中断是怎么设置的啊

使用特权

评论回复
27
bestwell| | 2023-10-8 17:22 | 只看该作者
DMA缓存可以当做二级缓存使用,需要注意缓存的大小和分配方式,以提高DMA的传输效率。

使用特权

评论回复
28
beacherblack| | 2023-10-8 19:24 | 只看该作者
在DMA串口传输过程中,需要对传输完成中断和错误中断进行处理。

使用特权

评论回复
29
bestwell| | 2023-10-8 21:28 | 只看该作者
在配置串口 DMA 时,关注功耗优化。可以通过使用低功耗模式(如睡眠模式、深度睡眠模式和待机模式)来降低功耗。

使用特权

评论回复
30
cemaj| | 2023-10-8 22:35 | 只看该作者
当DMA传输完成后,会产生一个中断,此时可以更新接收缓冲区的状态,或者开始下一次DMA传输。

使用特权

评论回复
31
LinkMe| | 2023-10-9 10:29 | 只看该作者
如果使能了DMA传输中断,则需要编写相应的中断处理函数。

使用特权

评论回复
32
鹿鼎计| | 2023-10-9 11:44 | 只看该作者
dma传输进程中必要存眷数据的传输状况,及时处理大概呈现的毛病或者异常情况

使用特权

评论回复
33
软核硬核| | 2023-10-9 13:00 | 只看该作者
若是接管的数据是定长的且是持续的,可以利用uart余暇间断。

使用特权

评论回复
34
Undshing| | 2023-10-9 21:17 | 只看该作者
数据不连续的话该怎么处理啊

使用特权

评论回复
35
jtracy3| | 2023-10-10 20:07 | 只看该作者
在使用串口 DMA 时,可能需要处理中断。确保正确配置中断控制器,以支持串口 DMA 传输所需的中断。

使用特权

评论回复
36
qiufengsd| | 2023-10-10 20:38 | 只看该作者
需要选择合适的DMA通道来与串口进行数据传输。确保选择的DMA通道与您要使用的串口接口兼容,并且没有与其他设备或功能冲突。

使用特权

评论回复
37
maqianqu| | 2023-10-10 21:23 | 只看该作者
在串口DMA使用中需要配置DMA中断的触发条件和处理方式,以便于及时响应和处理串口数据传输的变化和错误。

使用特权

评论回复
38
pentruman| | 2023-10-10 21:39 | 只看该作者
DMA传输的方向,即是从内存到串口(发送)还是从串口到内存(接收)。

使用特权

评论回复
39
Stahan| | 2023-10-11 19:52 | 只看该作者
抽帧是什么方法啊

使用特权

评论回复
40
10299823| | 2023-10-12 20:18 | 只看该作者
在使用串口DMA之前,需要配置DMA传输方向。串口数据通常是异步传输,需要配置DMA传输方向为输入或输出。

使用特权

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

本版积分规则