2017-12-11 01:20 AM
hello
i use the nfc memory m24sr64 with the dedicated source code ('STM32CubeExpansion_NFC1_V1.6.0').
I have an issue using the i2c token release sequence, supposed to close the i2c session.
In fact, our micro sends the start condition and the slave adress, but then, the ms24sr blocks the SCL line to low level for 28ms before releasing it.
Then the stop condition occurs.
So, during the i2c token release sequence, our micro sends 8 clock period for the start and the slave adress, and the 9th appears 28ms later.
So, the token release sequence seems not being correct, compared to the sequence on the m24sr64 datasheet.
Do you have an idea why the m24sr64 should block the SCL line during the token release sequence, although we send its correct adress ?
thank you !
Solved! Go to Solution.
2017-12-14 12:51 AM
Hi Catheline,
Normally the I2C Token release is supposed to put the SCL line Low for 40ms in the BSP driver. For that it uses the HAL_Delay function based on the HAL Systick timer. Did you modify the TimeBase of the Systick, it should be set to 1ms.
Best Regards.
2017-12-14 12:51 AM
Hi Catheline,
Normally the I2C Token release is supposed to put the SCL line Low for 40ms in the BSP driver. For that it uses the HAL_Delay function based on the HAL Systick timer. Did you modify the TimeBase of the Systick, it should be set to 1ms.
Best Regards.