??? 12/04/06 21:52 Read: times |
#128934 - SI != 0 Responding to: ???'s previous message |
Erik, I am trying to clear I2C interrupt flag. SI = 0; It does not work why?
This what I have I2CON = 0x44;// configure I2C interface interrupt service routine... switch(status) { case 0x08: // Start condition Xmitted case 0x10: // Repeat Start condition Xmitted I2DAT = mslaveaddress; STA = 0; STO = 0; SI = 0; // does not work /*******OR******/ I2CON &= 0x44; // STA = STO = SI = 0; does not work mbytenum = 0; break; : : // All other status codes Since the SI bit is not clearing by software, my program is no executing right and second byte of data is not being transmitted. Do you know what could the problem? Any ideas? Thanks J.C. |
Topic | Author | Date |
P89LPC936 I2C | 01/01/70 00:00 | |
use CodwArchitect | 01/01/70 00:00 | |
I did | 01/01/70 00:00 | |
no, I do not do 'time' | 01/01/70 00:00 | |
It's me | 01/01/70 00:00 | |
Erik I need help | 01/01/70 00:00 | |
what about AA? | 01/01/70 00:00 | |
Here! | 01/01/70 00:00 | |
read the p89v66x datasheet and go through | 01/01/70 00:00 | |
What about this | 01/01/70 00:00 | |
the address issue ... | 01/01/70 00:00 | |
Don't shift | 01/01/70 00:00 | |
In other words if a slave uC (or some other | 01/01/70 00:00 | |
SI != 0 | 01/01/70 00:00 | |
I do not handle bits, I write the SFR in one go | 01/01/70 00:00 | |
What is that? | 01/01/70 00:00 | |
sorry, SILABS SFR doing exactly the same | 01/01/70 00:00 | |
I tried | 01/01/70 00:00 | |
are you using a bondout? | 01/01/70 00:00 | |
Yes | 01/01/70 00:00 | |
try it the old fashioned way | 01/01/70 00:00 | |
OK | 01/01/70 00:00 | |
is this easier to understand? | 01/01/70 00:00 | |
It Cleared | 01/01/70 00:00 | |
send an e-mail | 01/01/70 00:00 | |
OK | 01/01/70 00:00 | |
License Expired | 01/01/70 00:00 | |
let your friendly local NXP contact know![]() | 01/01/70 00:00 |