- fchao-Sinus-Wechselrichter AliExpress    Werbung      
Ergebnis 1 bis 10 von 16

Thema: I2C Bus "störungssicher" machen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    09.02.2005
    Ort
    München
    Alter
    41
    Beiträge
    389
    Hallo Christoph,
    bau in die while() Schleife doch einfach ne zweite Abbruchbedingung ein. d.h. das die Schleife nach x Sekunden(über nen Timer) verlassen wird wenn kein ACK da ist.


    Gruß Matthias

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.11.2004
    Ort
    Hvalstad, Norwegen
    Beiträge
    140
    Pollen, also das warten in einer Schleife auf eine Bedingung, ist immer schlecht.
    Wenn deine Uebertragung nicht erfolgreich ist, bleibt der Controller haengen.
    Besser eine if() abfrage die die weitere Programabfolge anstoesst und die z.B. nach 1000 erfolglosen Versuchen ein Errorflag setzt.
    Nicht vergessen den Zaehlerstand zurueckzusetzen!

    Bsp:
    Code:
    int i2c_readAck(void) 
    {     
          TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWEA);     
          if(TWCR & (1<<TWINT)) // Erfolgreicher Empfang: Wert wird zurueckgegeben
         {         
               return TWDR;
         }
          else // Bisher kein erfolgreicher Empfang: -1 als Fehlercode. 
               //Im Hauptprogramm kann man diesen Rueckgabewert dann auswerten bzw. zaehlen.
         {        
               return -1;
         }
    }

Ähnliche Themen

  1. Versteckte Ordner wieder "unversteckt" machen
    Von Sebas im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 2
    Letzter Beitrag: 20.09.2011, 15:19
  2. Wie viel Sachen kann ein Atmega 2560 "gleichzeitig" machen
    Von super-robman im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 9
    Letzter Beitrag: 06.09.2011, 15:20
  3. "PIR D203S" was ist das, was kann man damit machen
    Von bnitram im Forum Elektronik
    Antworten: 9
    Letzter Beitrag: 18.04.2011, 15:38
  4. Microstepper "kräftiger" machen ? (geklärt)
    Von PICture im Forum Motoren
    Antworten: 12
    Letzter Beitrag: 09.10.2010, 13:37
  5. ASM: was machen "swap" und "cbr" genau?
    Von RHS im Forum AVR Hardwarethemen
    Antworten: 3
    Letzter Beitrag: 18.08.2004, 17:16

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

    Werbung      Solar Speicher und Akkus Tests