Please note: We are aware of an issue affecting replies on the Arm Community forums, which may not be loading as expected.
We apologize for any inconvenience and appreciate your patience while we investigate and work to resolve the issue.
Thank you for your understanding.
Hi
I have an error that shows its ugly head now and then.... The µC I'm using is C8051F122.
When I debug I can locate the problem, but the bug does not show the same place in code all times.
What I see now is that when stepping over the following line:
SMB0CN = 0x44;
The register SMB0CN actually is set to 0xC4. This sets the BUSY bit in the register.
It can be resolved by removing the µC supply, but a RESET won't do. But after some time the problem shows again.....
Does anyone have an idea????
Best Regards....
I have tried to use lower the optimisation with no luck. The problem is that I can not recreate the problem, so it is very hard to locate.
I have I2C interrupt enabled, but it should not change the memory content. I have tried to set a break point in the interrupt function and it does enter the function.
I guess the SMB0CN.7 bit is set to indicate if any device on the I2C line is trying to communicate, or?