From c1f712872df8e497bc23808e0bf4ba345ec17dd7 Mon Sep 17 00:00:00 2001 From: bcostm Date: Tue, 24 Jan 2017 16:50:55 +0100 Subject: [PATCH] Fix bug in i2c_byte_read function --- targets/TARGET_STM/i2c_api.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/targets/TARGET_STM/i2c_api.c b/targets/TARGET_STM/i2c_api.c index f90bb8772f..e75801a8fc 100644 --- a/targets/TARGET_STM/i2c_api.c +++ b/targets/TARGET_STM/i2c_api.c @@ -627,10 +627,9 @@ int i2c_byte_read(i2c_t *obj, int last) { } } - /* Enable reload mode as we don't know how many bytes will eb sent */ - handle->Instance->CR2 |= I2C_CR2_RELOAD; - /* Set transfer size to 1 */ - handle->Instance->CR2 |= (I2C_CR2_NBYTES & (1 << 16)); + /* Enable reload mode as we don't know how many bytes will be sent */ + /* and set transfer size to 1 */ + tmpreg |= I2C_CR2_RELOAD | (I2C_CR2_NBYTES & (1 << 16)); /* Set the prepared configuration */ handle->Instance->CR2 = tmpreg;