本帖最后由 zhang7309 于 2014-12-28 18:49 编辑 ! T" G& }2 T. h* J9 ^7 N - z4 m. }. j3 F 同样使用的是STM32CubeMX 和MDK,利用STM32CubeMX生成IIC驱动代码,调试过程中出现了问题# H3 [; {& M$ }- I4 U4 V- R+ a* } 因为利用STM32CubeMX生成的IIC驱动代码是块读写操作,在使用这种模式的时候,出现数据写入、读出总是0, 说明读写有问题,调试过程中发现单独读、写2个单元的数据是没有问题的,多于2个就出问题,搜索网络' [6 [4 \5 W0 @ C$ B1 V 确实有人遇到这个问题,解决方法是利用块读写修改成单字节读写,自己改写多字节读写操作代码,参考了8 E3 {1 j6 ?' V9 C/ b: m2 E 网友的代码后,成功实现了利用硬件IIC多字节的读写操作,IIC调试通过,下一步一些IIC接口传感器就容易实现% D7 T3 o& h o) m4 W 通信了。2 |; l) m0 t6 h. | 附代码,程序实现24c02的读写操作,将读出的单元数据通过串口发送到PC * H4 n* D+ P4 W p1 C8 \$ } |
iic.zip
下载6.94 MB, 下载次数: 11114
http://www.eeworld.com.cn/mcu/article_2018060339517.html |
http://www.eeworld.com.cn/mcu/article_2018060339517.html |
谢谢楼主 |
很好的谢谢 |
谢谢楼主,辛苦了!.... |
学习学习 |
谢谢分享 |
|
|
支持下! |
支持下,好久没用到I2C了,快淡忘了。 |
谢谢分享 |
谢lz |
|