cancel
Showing results for 
Search instead for 
Did you mean: 

STM32L475VG I2C Rx DMA Problem

Brian Dahl
Associate II
Posted on February 21, 2018 at 20:55

Hi i have a big Problem.

I have build the HAL with CubeMX 4.24 and i have configured that I2C3 had to Receive 128 Bytes.

stm32l4xx_hal_i2c.c

static void I2C_ITSlaveCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)

 /* If a DMA is ongoing, Update handle size context */
 if (((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN) ||
 ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN))
 {
 hi2c->XferCount = I2C_GET_DMA_REMAIN_DATA(hi2c);
 }
 /* All data are not transferred, so set error code accordingly */
 if (hi2c->XferCount != 0U)
 {
 /* Set ErrorCode corresponding to a Non-Acknowledge */
 hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
 }
�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?

When i received a message, then the XferCount on Line 5 are bigger than 0 and the function where left with an Error.

What is wrong??

Best regards

Brian

0 REPLIES 0