AnsweredAssumed Answered

KL02 FSL_FEATURE_I2C_HAS_START_STOP_DETECT

Question asked by Soon Yet Chan on Aug 21, 2017
Latest reply on Aug 22, 2017 by Jing Pan

KL02 Sub-Family Reference Manual (http://www.nxp.com/docs/en/reference-manual/KL02P32M48SF0RM.pdf )

clearly indicates register I2Cx_FLT does not have SSIE bit (start / stop interrupt), why is MKL02Z4_features.h defined otherwise?

 

/* @brief Has I2C bus start and stop detection (register bits FLT[SSIE], FLT[STARTF] and FLT[STOPF]). */
#define FSL_FEATURE_I2C_HAS_START_STOP_DETECT (1)
/* @brief Has I2C bus stop detection (register bits FLT[STOPIE] and FLT[STOPF]). */
#define FSL_FEATURE_I2C_HAS_STOP_DETECT (0)

 

Slave receive works with FSL_FEATURE_I2C_HAS_START_STOP_DETECT set to (1), but not when set to (0) with FSL_FEATURE_I2C_HAS_STOP_DETECT set to (1).

 

Which is correct?

 

After 1 week digging and debugging fsl_i2c library it felt unfinished at 70%, some of the functions are not used and it should be made very clear to user that the library does not support multi-master configuration - where single I2C instance need to support both master/slave operation. The proof is the library does not handle slave and master handles differently, only one can be created at one time - the one created later overwrites the former.

 

Outcomes