hallo, wie kann ich diese do-schleife in c schreiben: Do Twi_control = Twcr And &H80 Loop While Twi_control <> &H80 danke. mfg
Do { Twi_control = Twcr & &H80 } While( Twi_control <> &H80 ) weiss jetzt aber nicht was es mit den &H80 auf sich hat
1 | do { |
2 | Twi_control = Twcr & 0x80; |
3 | } while( Twi_control != 0x80 ); |
&H80 ist eine hex-zahl. hier bekomme ich eine fehlermeldung: expected expression before ">" token While( Twi_control <> &H80 ) "!= " ist diese abfrage genuso wie "<>" ? danke.
mach es so, wie kbuchegg geschrieben hat. So isses nämlich richtig :)
1 | do { |
2 | Twi_control = Twcr & 0x80; |
3 | } while( Twi_control != 0x80 ); |
Das geht kürzer:
1 | while (!(Twcr & 0x80)); |
denn es ist anzunehmen, daß "Twi_control" hier nicht wirklich gebraucht wird. Beim Verlassen der Schleife hat es immer den Wert 0x80, so daß man bei nachfolgendem Gebrauch auch einfach diesen konstanten Wert verwenden kann.
> denn es ist anzunehmen, daß "Twi_control" hier nicht wirklich gebraucht > wird. Also ich hätte jetzt angenommen, daß es sich bei einer der beiden Variblen um ein I/O-Register handelt und der Zugriff daher nötig ist.
Rolf Magnus wrote: > Also ich hätte jetzt angenommen, daß es sich bei einer der beiden > Variblen um ein I/O-Register handelt und der Zugriff daher nötig ist. Ja, Twcr, und das wird sich in C wohl TWCR schreiben (two-wire control register), also:
1 | while (!(Twcr & 0x80)); |
oder vielleicht besser:
1 | while ((TWCR & (1 << TWINT)) != 0) |
2 | /* wait for transaction to complete */ ; |
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.