在线时间39 小时
UID1377570
ST金币0
蝴蝶豆30
注册时间2016-8-15
高级会员
- 最后登录
- 2020-11-15
|
发表于 2020-3-30 09:32:09
|
显示全部楼层
a0a.1 32b0c
很多人提到STM32的IIC库函数不好用、不稳定,由于我对C的编程知识起步,
所以只能用函数做,并且也不希望自己建"PROJECT"和“INIT”,在这样的基
础下,经过反复试验,最终发现MX HAL建立工程、初始化非常好用。
出现的问题和众多码农相同,最大的问题就是能收到地址“0X68”,所有其它数据为零不变!
最终经对比发现,程序没有问题,主要问题是IIC的初始化中不能随意增加延时,很多帖子和
MPU6050说明中提到要由足够的延时,其实这就是个坑,因为延时后6050又进入了休眠,
所以读出的值全为零。结论是该加延时的加,比该加的不要画蛇添足!
由于100K的IIC通讯速度很快,所以只在上电初始化和有复位操作后各加500mS延时,其它豆不需要,
除非你强制运行在很低的CPU时钟,否则IIC的初始化和读写没有跟不上速度的问题,不需要延时。
试验发现STM32F103和STM32F030对HAL库函数的IIC操作都很问题。 |
|