Hi,
When my program runs to the following code:
static inline void I2C_ResetModuleState(I2C_Type *baseAddr)
{
/* Reset the I2C Bus Control Register values */
baseAddr->IBCR = 0x80;
/* Reset the I2C Bus Interrupt Configuration Register */
baseAddr->IBIC = 0x00;
}
It goes to IVOR1_Handler immediately.
The function I2C_ResetModuleState() was called by I2C_DRV_MasterInit() on the SDK.
The configuration and log of the registers are attached, hope it will be helpful.
Many thanks!
已解决! 转到解答。
Hi,
it looks like module is not clocked. Check in clock manager is the module is not gated off.
Also within a code, you can check actual peripheral status in ME_ME_PS1 register.
BR, Petr
Dear Petr,
Though the problem was solved, I still have some questions: why the clock error leads to the result of bits errors on MCSR-BUS_WRERR/G/ST/MAV? Or why did you think it was the clock problem that caused the error on MCSR-BUS_WRERR/G/ST/MAV?
Thanks again!