Bin grad dabei mit dem LM75 die Temp. per I²C auszulesen. Hab im Datenblatt des megas den ich benutze den syntax gefunden zum warten bis eine bestimmte bedingung erfüllt ist: while (!(TWCR & (1<<TWINT))); while (TWCR & (1<<TWSTO)); kann mir die 2 schleifen da einer erklären? warum steheht da ein &? kann man das irgendwie eleganter lösen? bitte um help danke
1. TWCR ist ein Register 2. Wenn TWINT z.B Bit 3 in TWCR ist, ist 1<<TWINT gleich 00001000. 3. Eine UND Verknüpfung von TWCR mit 00001000 ergibt 1 (wahr), wenn TWINT gesetzt ist. Eleganter geht das kaum zu lösen. Reiner
noch 2 Anmerkungen: 1. ! ist ein Vorzeichen-Wandler, also "NOT Bedingung" 2. Die Syntax einer While-schleife ist: while BEDINGUNG {do} AKTION hier in de Beispielschleifen ist die AKTION leer, denn da soll ja halt nix getan werden ausser zu warten bis de BEDINGUNG erfüllt ist
"Vorzeichenwandler" nennt sich auch Negation. In diesem Fall die logische Negation. Die bitweise Negation wird durch "~" beschrieben. Wenn mehr Informationen notwendig sind, empfehle ich den K&R "Programmieren in C", sozusagen die C-Bibel.
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.