Forum: Compiler & IDEs wer kann die schleife erklären.While (mmc_read_byte() != 0


von roboterheld (Gast)


Lesenswert?

hallo, wer kann diese schleife von winavr-c erklären :
While (mmc_read_byte() != 0xfe){};

danke.

mfg

von Sebastian (Gast)


Lesenswert?

Sieht so aus, als wird die Funktion "mmc_read_byte" wiederholt 
aufgerufen, bis sie ein bestimmtes Ergebnis (0xfe) zurückliefert; man 
könnte hier spekulieren, daß vielleicht an dem 0xfe ein Dateiende oder 
ähnliches erkannt wird.

von Werner B. (Gast)


Lesenswert?

Wenn man von der MMC/SD Karte einen Sektor anfordert, antwortet die 
Karte solange mit 0xFF bis sie Daten intern bereitgestellt hat. Das 0xFE 
signalisiert dann den Beginn der Nutzdaten. Das nächste Byte ist das 
erste Byte des angeforderdeten Sektors.

Ebenso beim Schreiben auf die Karte. Vor den eigentlichen Nutzdaten muss 
man ein 0xFE senden. Die foldenden (n=SektorSize) Bytes werden dann 
(hoffentlich ;) auf die Karte geschrieben.

Werner

von Andreas Paulin (Gast)


Lesenswert?

Wobei Du Dir die leere Klammer "{}" komplett sparen kannst...

von Rolf Magnus (Gast)


Lesenswert?

Alternativ kann man auch das Semikolon sparen (aber nicht Klammern UND 
Semikolon, nur eins von beiden). Außerdem fehlt noch ein
1
#define While while
;-)

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.