本帖最后由 zhang7309 于 2014-12-28 18:49 编辑
7 p$ C/ Z& R' H& U/ D1 U H+ b# ~0 w5 v U
同样使用的是STM32CubeMX 和MDK,利用STM32CubeMX生成IIC驱动代码,调试过程中出现了问题
. p0 ?( }8 }& F因为利用STM32CubeMX生成的IIC驱动代码是块读写操作,在使用这种模式的时候,出现数据写入、读出总是0,. v, P6 i8 D4 n8 w( a9 ~$ a
说明读写有问题,调试过程中发现单独读、写2个单元的数据是没有问题的,多于2个就出问题,搜索网络
/ ~% z9 s* h* w2 ? r确实有人遇到这个问题,解决方法是利用块读写修改成单字节读写,自己改写多字节读写操作代码,参考了, T+ z6 j8 r' j2 C. ^6 E. Z
网友的代码后,成功实现了利用硬件IIC多字节的读写操作,IIC调试通过,下一步一些IIC接口传感器就容易实现, d& P4 x1 Q; B1 z4 f
通信了。
" H+ v7 Z+ o _$ B4 D4 a) C附代码,程序实现24c02的读写操作,将读出的单元数据通过串口发送到PC) A1 q, s; V4 R6 p1 c
* b r, a3 e- Y1 ^, E7 g) F
3 _' q3 C# }) h1 M
2 }3 B* h( o0 }. f- E) f! C |