Hello !
I have checked SDK examples and do not find any place where those registers are set :
__IO uint8_t SLTH; /**< I2C SCL Low Timeout Register High, offset: 0xA */
__IO uint8_t SLTL; /**< I2C SCL Low Timeout Register Low, offset: 0xB */
It means by default timeout has infinite value ?
In what units those registers should be programmed ? Period of clock 400kHz or some other ones ?
Regards,
Eugene
Hi Eugene Hiihtaja,
The default value of Low Timeout Register was 0x00, which means low timeout function is disabled.
I did not find any driver initialize the Low Timeout Register, you may need to write it by yourself.
For example:
I2C0->SLTH = I2C_SLTH_SSLT(0x01);
I2C0->SLTL = I2C_SLTL_SSLT(0x01);
The I2C module clock means Bus clock. I2Cx_SMB[TCKSEL] select the period of clock of timeout.
Best Regards,
Robin
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------