您好!
我正在使用 phycore-AM57x 评估套件。 我无法将任何数据写入 M24C32 EEPROM。 执行代码时的效率
"写入 i2c 总线失败:远程 I/O 错误"。 请指导我解决此问题。 我的代码如下所示。
#include #include #include #include #include #include #include #define MAG_ADDRESS (0x50 >> 1) #define LSM303_WH_AM_I_M (0x0F) int main () { char buf[10]; const char * DevName ="/dev/i2c-0; //打开 I2C 总线 int file = open (DevName、O_RDWR); 如果(file ==1) { Perror (DevName); 退出(1); } //指定从器件的地址。 if (ioctl (file、I2C_SLAVE、MAG_ADDRESS)< 0) { perror ("未能获得总线访问和/或与从器件通信"); 退出(1); } //向从器件写入一个字节。 buf[0]= LSM303_WHO _AM_I_M; if (write (file、buf、1)!= 1) { perror ("无法写入 i2c 总线"); 退出(1); } //从从从器件读取一个字节。 如果(读取(文件、buf、1)!= 1) { perror ("无法从 i2c 总线读取"); 退出(1); } printf ("结果:0x%02x\n"、buf[0]); 返回0; }