Я делаю программу, в которой я взаимодействую с INA226 с помощью atmega8 с использованием I2C. Мне нужно записать его регистр со значением 4127h
. Ниже приведен код, который я сделал. когда я читаю реестр, я получаю 41 FF
. Это означает, что я могу писать 41, но не 27. Как я могу это сделать?Как записать 16-битные данные в протокол I2c
Также, когда я пытаюсь изменить значение, например, от 4127h
до 3637h
(только для проверки), он не получает изменений и отображает старшее значение 41 Ff
. Пожалуйста, помогите, спасибо.
КОД
i2c_init();
i2c_start();
i2c_write(0b10000000); //slave address
i2c_write(0x00); //register address
i2c_write(0x41); // data
i2c_write(0x27); // data
i2c_stop();
i2c_start();
i2c_write(0b10000001);
temp1 = i2c_read(1);
temp2 = i2c_read(0);
i2c_stop();