我正在尝试通过I²C从用户空间写入 EEPROM 。我正在使用/dev
设备文件和,open
和read
函数。阅读没有问题,但是当我使用相同的代码进行写作(只是将阅读替换为写入)时,它会失败。EEPROM 没有写保护(回显到 EEPROM 驱动程序的设备文件中有效)。write
ioctl
我的代码如下。
if ((fd = open(write_destination, O_RDWR)) < 0) {
goto error;
}
if (ioctl(fd, I2C_SLAVE_FORCE, 0x50) < 0) {
goto error_fd;
}
while((n = write(fd, self->fields[i].buf, self->fields[i].size)) != self->fields[i].size)
perror("");
我在看什么?