最近做MAX20087的I2C通信时发现数据手册中有错误,还是挺坑的,分享出来供大家参考:
因为用的是IO模拟I2C,所以I2C读写时序都需要手动实现。手册中描述I2C写单个字节的时序为:
最后一个NA有误,如果这儿不等待一个从机的ACK的话,是无法正确向MAX20087的寄存器写入数据的。
在写驱动时,这儿修改一下,等待一下从机的ACK即可正常写入数据。
最近做MAX20087的I2C通信时发现数据手册中有错误,还是挺坑的,分享出来供大家参考:
因为用的是IO模拟I2C,所以I2C读写时序都需要手动实现。手册中描述I2C写单个字节的时序为:
最后一个NA有误,如果这儿不等待一个从机的ACK的话,是无法正确向MAX20087的寄存器写入数据的。
在写驱动时,这儿修改一下,等待一下从机的ACK即可正常写入数据。