[STM32G0] STM32G070 I2C HAL库函数疑问

[复制链接]
2600|29
万图 发表于 2025-1-24 17:13 | 显示全部楼层
你可以不用管那些DMA相关的代码,只要不启用DMA模式,它是不会生效的,默认还是中断模式。
Wordsworth 发表于 2025-1-24 17:15 | 显示全部楼层
DMA适合在从机模式下快速响应主机请求,比如需要频繁收发数据的场景,效率会比中断模式高很多。
Bblythe 发表于 2025-1-24 17:16 | 显示全部楼层
STM32G070是一款低功耗芯片,DMA还能降低CPU的功耗消耗,这可能也是设计的一个考量。
Pulitzer 发表于 2025-1-24 17:18 | 显示全部楼层
如果你的项目对数据传输性能要求不高,可以直接忽略那些DMA处理逻辑,影响不大。
Uriah 发表于 2025-1-24 17:19 | 显示全部楼层
HAL库的函数是通用的,既考虑到简单应用,也为复杂应用场景预留了支持,代码会稍微冗余一些。
Clyde011 发表于 2025-1-24 17:20 | 显示全部楼层
建议看看I2C章节的参考手册和DMA配置部分,结合项目实际需求决定用不用DMA模式吧。
AutoMotor 发表于 2025-1-25 16:48 | 显示全部楼层
总的来说是降低cpu占用率,这是dma的特点
芯路例程 发表于 2025-1-25 21:54 | 显示全部楼层
在i2c通信中,dma(直接存储器访问)请求用于提高数据传输的效率并减轻cpu的负担
PreWorld 发表于 2025-1-26 19:03 | 显示全部楼层
处理dma请求包含在实现代码中
理想阳 发表于 2025-1-27 17:02 | 显示全部楼层
这是为了提高数据传输效率。DMA可以自动传输数据,减少CPU的参与,尤其是数据量大的时候。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部