по идей если все работает то для чтения регистров нужно написать чтото вроде
Код
fdI2C = open("/dev/i2c",O_RDWR);
int i2c_addr = 0xd4; //адрес датчика
ioctl(fdI2C,I2C_SLAVE,i2c_addr);
buf[0] = reg_addr;
write (fdI2C, buf, 1)//адрес регистра
read (fdI2C, buf, 1)//значение регистра в buf[0]
int i2c_addr = 0xd4; //адрес датчика
ioctl(fdI2C,I2C_SLAVE,i2c_addr);
buf[0] = reg_addr;
write (fdI2C, buf, 1)//адрес регистра
read (fdI2C, buf, 1)//значение регистра в buf[0]
по крайней мере в некоторых примерах это выглядит именно так
но у меня в системе отсутствует файл /dev/i2c, хотя i2c - драйвер загружен и вроде работает. В чем причина? Нужно ли создавать его вручную? Как еще можно прочитать данные из устройств подключенных к i2c?