Question
How does HAL_I2C_IsDeviceReady work?
Posted on October 19, 2017 at 20:38
Hi all,
I'm dealing with an I2C memory connected to a STM32F401 MCU and I'd like to check at runtime if the device is ready (or if something is wrong, e.g. with wirings).
I'm trying to use the HAL_I2C_IsDeviceReady function but reading the ST documentation I can't understand completely how it works. So, what is the difference between the ' trials' and the ' timeout' parameters?In many examples, I found something like this:
while(HAL_I2C_IsDeviceReady(&hi2c1, EEPROM_I2C_ADDRESS,1, HAL_MAX_DELAY));�?�?
but this is a blocking statement in the case of the device isn't working properly (e.g., not power supplied) and so I'm not satisfied with this solution.
Can anyone help me?
Many thanks!
Alessio
#i2c #hal_i2c_isdeviceready