From 31e2ea85414717c6e637530f9ba706033646ec82 Mon Sep 17 00:00:00 2001 From: Monideep Bora Date: Tue, 8 Aug 2023 15:55:51 +0200 Subject: [PATCH] added wait for ACK after a I2C transaction --- libraries/Wire/src/Wire.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libraries/Wire/src/Wire.cpp b/libraries/Wire/src/Wire.cpp index 94baa2a3..d519f97a 100644 --- a/libraries/Wire/src/Wire.cpp +++ b/libraries/Wire/src/Wire.cpp @@ -245,6 +245,8 @@ uint8_t TwoWire::requestFrom(uint8_t address, uint8_t quantity, uint32_t iaddres XMC_I2C_CH_MasterStart(XMC_I2C_config->channel, (txAddress << 1), XMC_I2C_CH_CMD_READ); } + while((XMC_I2C_CH_GetStatusFlag(XMC_I2C_config->channel) & XMC_I2C_CH_STATUS_FLAG_ACK_RECEIVED) == 0U); + for (uint8_t count = 0; count < (quantity - 1); count ++) { XMC_I2C_CH_MasterReceiveAck(XMC_I2C_config->channel);