diff --git a/components/esp8266/driver/i2c.c b/components/esp8266/driver/i2c.c index d5805d14..41b55945 100644 --- a/components/esp8266/driver/i2c.c +++ b/components/esp8266/driver/i2c.c @@ -500,7 +500,7 @@ static void i2c_master_cmd_begin_static(i2c_port_t i2c_num) i2c_master_set_dc(i2c_num, i2c_last_state[i2c_num]->sda, 0); for (i = 7; i >= 0; i--) { - if (cmd->byte_num == 1) { + if (cmd->byte_num == 1 && cmd->data == NULL) { dat = (cmd->byte_cmd) >> i; } else { dat = ((uint8_t) * (cmd->data + len)) >> i; @@ -615,4 +615,4 @@ esp_err_t i2c_master_cmd_begin(i2c_port_t i2c_num, i2c_cmd_handle_t cmd_handle, return ESP_FAIL; } -} \ No newline at end of file +}