Forum: Mikrocontroller und Digitale Elektronik i2c/smbus Debugger Problem!


von Nick (Gast)


Lesenswert?

Hallo Leute,

folgendes ich will mit SMBus meinen Digitalpoti ansteuern. Nun kann ich 
den SMBus_Busy zustand nicht mehr verlassen.

Ich kann die While-Schleife unten nicht mehr verlassen, sprich smbus 
wird nicht mehr frei.
Ich glaube das Problem liegt beim Debugger mit i2c/SMBus. Aber weiss 
keine Lösung dazu.

Habt ihr vielleicht eine Idee wie ich das Problem lösen kann.
Oder liege ich komplett falsch??

Danke im Voraus.
hier meine fkt
void SMB_Write (void)
{
   U32 a;
   while (SMB_BUSY);                   // Wait for SMBus to be free.
   SMB_BUSY = 1;                       // Claim SMBus (set to busy)
   SMB_RW = 0;                         // Mark this transfer as a WRITE
   STA1;        // Start transfer

  while(SMB_BUSY)
  {
     a++;
           if (a==20000000)
   {
      SMB0CF &= ~0x80;               // Disable SMBus
            SMB0CF |= 0x80;                // Re-enable SMBus
    //TMR3CN &= ~0x80; // Clear Timer3 interrupt-pending
         // flag
            STA = 0;
       SMB_BUSY = 0;                       // Free SMBus
   }

  }
}

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.