我接下来也要处理这个,I2C的主从机通讯;
但会有什么困难?我还没细想.
1)发起始信号;
......检测标志位,并清除;
2)发地址H;
......检测标志位,并清除;
3)发地址L;
......
4)发数据......
.........
发停止位;
I2C比较麻烦的是状态标志位;很丰富,很烦人;SR1,SR2,SR3;
搞不好会死机;(读状态的程序多半都是一根筋的死循环).例测从机的应答.如果从机不应答,主要就死掉了;
如果用中断处理,要从一堆乱麻似的中断标志中理清线索也不容易;一旦错一点点,同上,程序的线程就卡住了;
如果加入错误恢复,好象又显得太婆婆妈妈的;IIC的程序处理起来是比较烦人;
比SPI烦人很多.
|