发新帖我要提问
12
返回列表
打印
[STM32G0]

STM32G070 I2C HAL库函数疑问

[复制链接]
楼主: jcky001
手机看帖
扫描二维码
随时随地手机跟帖
21
万图| | 2025-1-24 17:13 | 只看该作者 回帖奖励 |倒序浏览
你可以不用管那些DMA相关的代码,只要不启用DMA模式,它是不会生效的,默认还是中断模式。

使用特权

评论回复
22
Wordsworth| | 2025-1-24 17:15 | 只看该作者
DMA适合在从机模式下快速响应主机请求,比如需要频繁收发数据的场景,效率会比中断模式高很多。

使用特权

评论回复
23
Bblythe| | 2025-1-24 17:16 | 只看该作者
STM32G070是一款低功耗芯片,DMA还能降低CPU的功耗消耗,这可能也是设计的一个考量。

使用特权

评论回复
24
Pulitzer| | 2025-1-24 17:18 | 只看该作者
如果你的项目对数据传输性能要求不高,可以直接忽略那些DMA处理逻辑,影响不大。

使用特权

评论回复
25
Uriah| | 2025-1-24 17:19 | 只看该作者
HAL库的函数是通用的,既考虑到简单应用,也为复杂应用场景预留了支持,代码会稍微冗余一些。

使用特权

评论回复
26
Clyde011| | 2025-1-24 17:20 | 只看该作者
建议看看I2C章节的参考手册和DMA配置部分,结合项目实际需求决定用不用DMA模式吧。

使用特权

评论回复
27
AutoMotor| | 2025-1-25 16:48 | 只看该作者
总的来说是降低cpu占用率,这是dma的特点

使用特权

评论回复
28
芯路例程| | 2025-1-25 21:54 | 只看该作者
在i2c通信中,dma(直接存储器访问)请求用于提高数据传输的效率并减轻cpu的负担

使用特权

评论回复
29
PreWorld| | 2025-1-26 19:03 | 只看该作者
处理dma请求包含在实现代码中

使用特权

评论回复
30
理想阳| | 2025-1-27 17:02 | 只看该作者
这是为了提高数据传输效率。DMA可以自动传输数据,减少CPU的参与,尤其是数据量大的时候。

使用特权

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

本版积分规则