Hello
If I can check like this:after transfer a data,I check the bit TDF of register MSR,if the bit TDF is set as 1,I will think the transfer action has end?
I inintail the IIC function as below sequence:
uint32_t tmp = 0x00000000;
IIC_DRIVER_BASE->MCR = 0x00000002;
Delay_20us();
/**disable IIC**/
IIC_DRIVER_BASE->MCR = 0x00000000;
IIC_DRIVER_BASE->MSR = 0x00000000;
/***set clock Prescaler and diable match fucntion
***set pin fucntion and NACK
***/
IIC_DRIVER_BASE->MCFGR1 = 0x00000000;
/**set baud 100K**/
IIC_DRIVER_BASE->MCCR0 = 0x0D1A1A34;
/***disable all IIC interrupt**/
IIC_DRIVER_BASE->MIER = 0x00000000;
/**disable IIC DMA Fucntion**/
IIC_DRIVER_BASE->MDER = 0x00000000;
IIC_DRIVER_BASE->MCFGR0 = 0x00000000;
IIC_DRIVER_BASE->MCFGR2 = 0x00000000;
IIC_DRIVER_BASE->MCFGR3 = 0x00000000;
IIC_DRIVER_BASE->MDMR = 0x00000000;
IIC_DRIVER_BASE->MCCR1 = 0x00000000;
IIC_DRIVER_BASE->MFCR = 0x00000000;
/**enable IIC**/
tmp = (uint32_t)IIC_DRIVER_BASE->MCR;
tmp &= (uint32_t)(~(LPI2C_MCR_MEN_MASK));
tmp |= LPI2C_MCR_MEN(0x00000001);
IIC_DRIVER_BASE->MCR = tmp;
after executing the sequence,the valeu of register MSR is alway 0x02000001,so I can solve this issue?