Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
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.



List of 28 messages in thread
TopicAuthorDate
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      

Back to Subject List