OK, I see that in the manual. I usually just reset it the begin and then leave it.
But, you set RIICn_RIICnCR1_ICE, but you never clear it. I'm not sure if that clears by itself.
What if you did this:
// Initial settings RIIC1.RIICnCR1.UINT8[0] = RIICn_RIICnCR1_IICRST; // Set IICRST: RIIC reset RIIC1.RIICnCR1.UINT8[0] |= RIICn_RIICnCR1_ICE; // Set ICE: Internal reset RIIC1.RIICnCR1.UINT8[0] = 0; // Release reset |
You don't have worry about the SCLO and SCLI bits because you are not setting SOWP.
> The BBSY, MST, and TRS bits are read-only and are set automatically when a start condition is issued (well, according to the user manual). Please correct me if I am wrong.
Ooops, sorry about that. You're right (I was thinking of another device)