stm32 iic DMA的使用
时间: 2023-10-26 21:07:29 浏览: 215
STM32IIC学习笔记
在使用STM32的IIC外设和DMA时,可能会遇到一些问题。根据引用\[1\],当IIC驱动死掉时,调用发送函数会返回失败,但CPU仍然正常运行。这可能是由于硬件IIC处于busy状态,导致放弃了后续的IIC操作。解决这个问题的方法是通过对IIC外设进行复位。
另外,引用\[2\]提到在调试好IIC外设后,发现IIC的DMA也需要注意。一个主要问题是最后的STOP信号丢失,可以通过强制控制IIC的寄存器发送一个STOP信号来解决。
然而,引用\[3\]中提到STM32的硬件IIC在一些项目中可能不好用,因此一些人会选择使用模拟IIC来实现相应的操作。但是,如果需要提高效率,可以考虑使用硬件IIC。
综上所述,使用STM32的IIC外设和DMA时,需要注意处理IIC驱动死掉的情况,并且在使用DMA时确保发送STOP信号。同时,根据具体项目需求和性能要求,可以选择使用硬件IIC或模拟IIC来实现相应的功能。
#### 引用[.reference_title]
- *1* *2* *3* [基于STM32F405的硬件IIC+DMA操作分享](https://blog.csdn.net/Cris_Jay/article/details/125694467)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文