Skip to main content
RSoen.1
Associate III
May 5, 2021 2:15 PM UTC
Solved

I2C Acknowledge Polling

The eeprom I am using has no status byte/bit. In order to know if the device is busy you have to look for an ACK when repeatedly sending the address byte.

I cannot find an easy way to do this using the CUBEIDE and the HAL. All the low level i2c routines are static to the libraries.

Any ideas?

Thanks

Rich

This topic has been closed for replies.
TDK
TDKBest answer
May 5, 2021 2:20 PM UTC

The ACK in I2C is a part of the protocol. Every HAL I2C routine that sends data will check for it.

The HAL_I2C_IsDeviceReady routine in particular does this.

"If you feel a post has answered your question, please click ""Accept as Solution""."

2 replies

TDK
TDKBest answer
May 5, 2021 2:20 PM UTC

The ACK in I2C is a part of the protocol. Every HAL I2C routine that sends data will check for it.

The HAL_I2C_IsDeviceReady routine in particular does this.

"If you feel a post has answered your question, please click ""Accept as Solution""."
RSoen.1
RSoen.1Author
Associate III
May 5, 2021 2:24 PM UTC

Ugh, right in front of me. Thank you

Rich