I.MX6ULL的裸机I2C驱动读和写函数(原作者:左钟凯)

 源码如下。

 

I.MX6ULL的裸机I2C驱动读和写函数(原作者:左钟凯)

个人总结:

1.I2DR寄存器的读

I2DR寄存器的读操作如下,它与while(size--)中的size无联系,让我一开始觉得I2DR里面的数据就是不变的嘛!

 *buf++ = base->I2DR;//I2C读数据

后来我查看了I.MX6ULL里面这样描述I2C的I2DR寄存器:“reading the dataregister allows a read to occur and initiates the next byte to be received”。单从这句可得出,读取I2DR寄存器的行为,不仅仅只是做了“读取数据”的行为,它还更新了I2DR寄存器存储的数据,这个数据就是接收的下一个字节。

2.

上一篇:【北京迅为】i.MX6ULL终结者查看变量的实时值


下一篇:【北京迅为】i.MX6ULL终结者Linux并发与竞争自旋锁