请教下IIC的问题

2019-08-14 15:36发布

我用stm32连接MPU6050,他们之间通过iic通信,在配置完端口和IIC通信参数后 ,开始运行,但是程序一直监测总线忙,一直停在这个位置        while(I2C_GetFlagStatus(I2C1, I2C_FLAG_BUSY)); 不知道原因是什么,请大神指教


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
Acuity
2019-08-14 17:50
互利共赢 发表于 2017-8-13 21:39
不要认为说stm32F1系的硬件IIC不好用的人多了,你也这样说,其实硬件IIC没问题的。而且在一些项目中,比 ...

1、我没有反对STM32F1硬件i2c,网上确实很大反映其硬件i2c问题,我本人也作过相关测试,确实有相关不足,除非你这个单片机只用i2c不用其他资源吗,否则易死机;但产品上我没有用也不敢用其硬件i2c;欢迎楼主提供根本性的解决方法,贡献给大家;
2、很多时候要抓住问题关键,而不是纠结某个非关键问题,方法不重要,解决问题才最重要;MPU6050重点是在应用算法,好好研究算法比研究stm32的硬件i2c值得;
3、很多人以为模拟i2c不好,认为速度慢,其实不然:模拟i2c很稳定,测试过30kHz的中断,模拟i2c仍然正常;i2c最快速度也就400k,模拟io足以达到这个速度;模拟i2c的唯一缺点就是占用cpu资源(需要延时),有高频率的中断时需要注意。

一周热门 更多>