AnsweredAssumed Answered

STM32 I2C HAL slave receive callback not called

Question asked by Arete sw on Jul 22, 2017
Latest reply on Jul 27, 2017 by Vangelis Fortounas

I find when I make a call to HAL_I2C_Slave_Receive_IT it returns HAL_OK but it never manages to call the callback function, my HAL_I2C_SlaveRxCpltCallback(I2C_HandleTypeDef *I2cHandle) implementation.

 

Using a logic analyzer, I find that the device never acks the address and instead holds the clock line low till the device is reset.

 

I find if I use the synchronous api, HAL_I2C_Slave_Receive it ACKs and get's data just fine.

 

Also I am using the latest version of the STM32CubeMX + Keil ARM-MDK.

 

Any ideas? Thanks

Outcomes