我正在制作一个程序,在这个程序中,我使用INA226与atmega8进行I2C接口。我需要用值4127h写它的寄存器。下面是我所做的代码。当我正在读登记簿时,我得到的是41 FF。这意味着我可以写41,但不是27。我该怎么做呢?
另外,当我尝试将类似于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();发布于 2015-06-11 12:17:13
enter code here
unsigned int_16 DATA=4127
i2c_init();
i2c_start();
i2c_write(0b10000000); //slave address
i2c_write(0x00); //register address
i2c_write((int)DATA>>8); // data OF MSB
i2c_write((int)DATA & 0XFF); // data OF LSB
i2c_stop();https://stackoverflow.com/questions/29227147
复制相似问题