本帖最后由 zhang7309 于 2014-12-28 18:49 编辑
# D' j) }2 V2 u; `! J" i
# n& X( u, V5 U4 K同样使用的是STM32CubeMX 和MDK,利用STM32CubeMX生成IIC驱动代码,调试过程中出现了问题
8 a* d2 }5 R& R. r) S因为利用STM32CubeMX生成的IIC驱动代码是块读写操作,在使用这种模式的时候,出现数据写入、读出总是0,- B0 r6 o7 s% w1 ~! R( @1 o
说明读写有问题,调试过程中发现单独读、写2个单元的数据是没有问题的,多于2个就出问题,搜索网络
- |7 M! u0 ]5 j" i0 F: A' a' V确实有人遇到这个问题,解决方法是利用块读写修改成单字节读写,自己改写多字节读写操作代码,参考了3 T, o$ j- S* E
网友的代码后,成功实现了利用硬件IIC多字节的读写操作,IIC调试通过,下一步一些IIC接口传感器就容易实现$ u. i$ y& d- A2 Q3 f
通信了。0 c$ o1 z: i, N2 N$ @: \* H9 I
附代码,程序实现24c02的读写操作,将读出的单元数据通过串口发送到PC; {. h+ C' V4 L" X
: |% x( M. b, ~' O7 Z i& y1 Z" t( x0 _' R% {. C6 O( H& w
$ I% D# w$ Q% y/ n% H
|