本帖最后由 zhang7309 于 2014-12-28 18:49 编辑 ; [4 o$ {. S* t5 o& _
$ u# Q; E/ J8 V+ e9 [同样使用的是STM32CubeMX 和MDK,利用STM32CubeMX生成IIC驱动代码,调试过程中出现了问题: M% @6 H V4 f$ @
因为利用STM32CubeMX生成的IIC驱动代码是块读写操作,在使用这种模式的时候,出现数据写入、读出总是0,9 o1 J5 w& @3 U; r
说明读写有问题,调试过程中发现单独读、写2个单元的数据是没有问题的,多于2个就出问题,搜索网络
) }) j8 a* Z% s9 V- T确实有人遇到这个问题,解决方法是利用块读写修改成单字节读写,自己改写多字节读写操作代码,参考了
: O4 ?0 I/ H7 q+ K6 ]4 V网友的代码后,成功实现了利用硬件IIC多字节的读写操作,IIC调试通过,下一步一些IIC接口传感器就容易实现0 X% X/ l; m( d0 z
通信了。
7 V7 k) K# F# g) z附代码,程序实现24c02的读写操作,将读出的单元数据通过串口发送到PC% @% _+ c# Q/ @7 M8 \
- {- X9 F8 T, d! E1 v& E
6 O4 w! q- f* X, _8 R
9 o8 \/ q8 q3 M o! q! i, g |