Fix i2c multiple write bug, as reported by Ron Segal: https://sourceforge.net/p/contiki/mailman/message/34633862/
This commit is contained in:
parent
956497a672
commit
e1359519ab
|
@ -256,13 +256,12 @@ board_i2c_write_read(uint8_t *wdata, uint8_t wlen, uint8_t *rdata, uint8_t rlen)
|
||||||
for(i = 1; i < wlen && success; i++) {
|
for(i = 1; i < wlen && success; i++) {
|
||||||
/* Write next byte */
|
/* Write next byte */
|
||||||
ti_lib_i2c_master_data_put(I2C0_BASE, wdata[i]);
|
ti_lib_i2c_master_data_put(I2C0_BASE, wdata[i]);
|
||||||
if(i < wlen - 1) {
|
|
||||||
/* Clear START */
|
/* Clear START */
|
||||||
ti_lib_i2c_master_control(I2C0_BASE, I2C_MASTER_CMD_BURST_SEND_CONT);
|
ti_lib_i2c_master_control(I2C0_BASE, I2C_MASTER_CMD_BURST_SEND_CONT);
|
||||||
while(ti_lib_i2c_master_busy(I2C0_BASE));
|
while(ti_lib_i2c_master_busy(I2C0_BASE));
|
||||||
success = i2c_status();
|
success = i2c_status();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if(!success) {
|
if(!success) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue