ST Microelectronics I2C Interrupt HAL Library question
Yes I think you understood that correctly.

And if you think about it, that's the whole point of interrupts. You don't need interrupts when you simply loop over the array and wait for each byte.

The interrupts allow your program to do stuff while the I²C transaction is ongoing.

The other thing with only one interrupt would be using DMA to feed the data to the I²C peripheral.



From the implementation work I've done on an own HAL for the F401, I'd recommend you to use the interrupt capability only for the bulk transmission or reception. I encountered strange interrupts with no source (no bits set in the registers) while trying to implement a purely interrupt driven approach for the I²C.