硬汉嵌入式论坛

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

[有问必答] STM32的DMA能否分时复用?

[复制链接]

3

主题

48

回帖

57

积分

初级会员

积分
57
发表于 2021-9-27 23:07:17 | 显示全部楼层 |阅读模式
我现在需要用到USART2和I2C1的DMA,都用到了,其实可以只给一个用,但我想把它们都搞成DMA的方式,我目前能想到的就是搞个标志,谁用过就标志一下,下一次用这个DMA就查看这个标志是否跟自身标志一样,如果不一样则重新配置自身的DMA通道。但是我感觉要是两个外设交叉使用频率快的话,岂不是很蠢。还不如单独给其中一个用DMA,另一个不用。所以现在咨询下有没有大佬搞过这种DMA的分时复用方法?


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106622
QQ
发表于 2021-9-28 01:09:31 | 显示全部楼层
F1系列吗,可以设置不同的通道,UART和I2C可以都使用DMA,使用不同的通道即可。
回复

使用道具 举报

3

主题

48

回帖

57

积分

初级会员

积分
57
 楼主| 发表于 2021-9-28 09:12:46 | 显示全部楼层
本帖最后由 bigbigcong 于 2021-9-28 09:44 编辑

是F1系列,I2C和UART2的通道冲突了用的同一个DMA通道,硬件定了。现在好像只能让一个外设使用DMA功能,所以我想能不能分时复用这样交替使用
DMA通道.jpg
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106622
QQ
发表于 2021-9-28 11:57:06 | 显示全部楼层
bigbigcong 发表于 2021-9-28 09:12
是F1系列,I2C和UART2的通道冲突了用的同一个DMA通道,硬件定了。现在好像只能让一个外设使用DMA功能,所以 ...

感觉分时交替意义不大,因为你要不断的重复切换配置DMA。
回复

使用道具 举报

3

主题

48

回帖

57

积分

初级会员

积分
57
 楼主| 发表于 2021-9-28 16:04:14 | 显示全部楼层
eric2013 发表于 2021-9-28 11:57
感觉分时交替意义不大,因为你要不断的重复切换配置DMA。

我准备试一下吧,一是抱着学习的心态搞一下。二是我这两个外设交替使用频率并没有很大,还是可以用一下的。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106622
QQ
发表于 2021-9-29 09:05:27 | 显示全部楼层
bigbigcong 发表于 2021-9-28 16:04
我准备试一下吧,一是抱着学习的心态搞一下。二是我这两个外设交替使用频率并没有很大,还是可以用一下的 ...

那可以的,没问题。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 15:15 , Processed in 0.193781 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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