This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Register is not updated.....

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....

Parents
  • 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?

Reply
  • 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?

Children
No data