Fix I2cWrite

Fix I2CWrite8 and 16 (#1267)
This commit is contained in:
arendst 2017-11-28 21:57:35 +01:00
parent 0f531e24e5
commit 2376a14ec1

View File

@ -814,10 +814,10 @@ bool I2cWrite(uint8_t addr, uint8_t reg, uint32_t val, uint8_t size)
do {
Wire.beginTransmission((uint8_t)addr); // start transmission to device
Wire.write(reg); // sends register address to write to
uint8_t loops = size -1;
do {
Wire.write((val >> (8 * loops)) & 0xFF); // write data
} while(--loops);
uint8_t bytes = size;
while (bytes--) {
Wire.write((val >> (8 * bytes)) & 0xFF); // write data
}
x--;
} while (Wire.endTransmission(true) != 0 && x != 0); // end transmission
return (x);