这两天学习linux的iic驱动,使用的芯片是FM24C02A,参考周立功老师的书和从他那买的287A套件做实验,昨天写了驱动程序和应用程序,发现一个问题:应用程序如果一次写入8个字节,然后一次读出8个字节,则读出的第8个字节和写入的第8个字节不一样,原因还在查找中。
数据发送函数我用的 int i2c_master_send(const struct i2c_client *client, const char *buf, int count);这个函数会首先将buff的数据封装成struct i2c_msg 格式的,然后调用i2c_transfer(adap, &msg, 1);完成最终的发送。