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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.