2020-04-23 09:30 AM
I was wondering if some one could clarify the use of the different options for the sequential I2C (specifically with reference to the stm32F437). if the master I2C device was to call
HAL_I2C_Master_Seq_Receive_IT(hi2c, Addr<<1, DataIn, 10, I2C_FIRST_AND_NEXT_FRAME);
and then once that had completed was to call
HAL_I2C_Master_Seq_Receive_IT(hi2c, Addr<<1, DataIn[10], 30, I2C_LAST_FRAME_NO_STOP);
Would this cause a reset after the first 10 bytes and then the address to be sent again or would the transfer continue? Finally if I2C_LAST_FRAME_NO_STOP is used and then in the Rxcmplt callback HAL_I2C_Master_Abort_IT was called, will that cause a NACK to be sent at the end. (similar to how the the I2C works when reading from an EEPROM, the NACK being used to signal to the slave that the transfer has finished)
Thanks very much for helping