I2C ACK Question
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2025-06-11 5:41 PM
Hi, I bought the Nucleo-411RE board a few days ago, and try to test i2c protocol.
In this MCU's reference manual(RM0383) page 492,493, about I2C register CR1, Bit 10 ACK, It explains me that acknowledge returned after a byte is received(matched address or data).
Is it automatic? If my mcu received correct address, the mcu automatically returned ack by hardware?
I saw that HAL_I2C_Receive function but there is only bit setting about ack. No ack output instruction.
How return the mcu ack ? by hardware or software?
Thank you.
If you have any questions, please ask me.
- Labels:
-
I2C
-
STM32F4 Series
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2025-06-11 6:54 PM
The slave returns the ACK. The HAL driver will return a status. If it returns HAL_ERROR, you'll have to get the error to figure what caused the error as it could be one of several things..
Don't worry, I won't byte.
TimerCallback tutorial! | UART and DMA Idle tutorial!
If you find my solution useful, please click the Accept as Solution so others see the solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2025-06-12 12:06 AM
Hello @giwonKIM
@giwonKIM wrote:How return the mcu ack ? by hardware or software?
The ACK is sent by the hardware when a byte is received or an address match occurs.
Saket_Om
