硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1896|回复: 4
收起左侧

[有问必答] 小白提问串口FIFO里面加DMA如何实现好

[复制链接]

6

主题

21

回帖

39

积分

新手上路

积分
39
发表于 2022-9-4 07:44:12 | 显示全部楼层 |阅读模式
硬汉哥的串口FIFO我已经移植好了,但是看了使用CMSIS-Driver串口DMA的话,想了想在你串口FIFO能不能添加DMA上去,要怎么样写,小白没有思路。直接HAL_DMA_Start()开启huart1上的RX_DMA,然后  SET_BIT(huart->Instance->CR3, USART_CR3_DMAR)开启对应的DMA上面的RX功能吗? 求指导
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2022-9-4 10:25:15 | 显示全部楼层
我们那个驱动修改为DMA不方便,需要大改,就用CMSIS-Driver即可,这个是有源码的,可以随意修改为自己喜欢的方式。
回复

使用道具 举报

6

主题

683

回帖

701

积分

金牌会员

积分
701
QQ
发表于 2022-9-5 21:13:33 | 显示全部楼层
自己改就可以,malloc+free+USART+DMA+IDLE就可以
回复

使用道具 举报

11

主题

50

回帖

83

积分

初级会员

积分
83
QQ
发表于 2024-10-23 16:49:15 | 显示全部楼层
eric2013 发表于 2022-9-4 10:25
我们那个驱动修改为DMA不方便,需要大改,就用CMSIS-Driver即可,这个是有源码的,可以随意修改为自己喜欢 ...

我现在也有这个需求,一直在用FIFO。但是现在有个串口外设的波特率很低,传输一次数据就要15ms,影响了整个控制的频率,这是就像如果在FIFO的基础上增加DMA就好了。
现在在做这个尝试,有什么建议吗?
回复

使用道具 举报

0

主题

50

回帖

50

积分

初级会员

积分
50
发表于 2024-10-23 18:12:11 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-12 06:07 , Processed in 0.039684 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表