Moin
Sorry wenn das jetzt zu trivial ist, aber ich komme nicht auch die
Lösung.
Ich habe hier eine do while Schleife die so aussieht:
do {
_delay_ms(10);
adcval = ReadChannel(0);
}
while ((adcval>48) and (adcval<52));
Die Schleife soll solange wiederholt werden , solange adcval zwischen 49
und 51 liegt.
Bereits beim compilieren bekomme ich aber einen Fehler:
expected ) befor end
aber auch andere "Versionen" sorgen für eine Fehlermeldung:
while (adcval>48 and adcval<52);
while (adcval>48) and (adcval<52);
adcval ist vom Typ: uint16_t
Was mache ich nur wieder falsch
Gruß
Michael
> Was mache ich nur wieder falsch
. du tippst Fehlermeldungen ab, statt sie zu kopieren
. du kannst kein C ;-)
&& heißt das Ding...
Ausserdem: "Zwischen" heisst: while ((adcval>49) && (adcval<51)); "Zwischen einschliesslich" heisst: while ((adcval>=49) && (adcval<=51)); Ja, letzteres hat den gleichen Effekt wie deins - aber der Code entspricht viel mehr dem Gedanken. Das ist wie bis 10 zaehlen, das kann ich mit for( int Wert = 1; Wert != 11; Wert++); oder mit for( int Wert = 1; Wert <= 10; Wert++); erreichen. Das sind nur kleine Unterschiede, aber auch Details verbessern die Lesbarkeit.
>Danke, ich denke noch zu sehr in Delphi :)
Vieleicht tuts auch ein
#define and &&
Aber ich glaub ich mach mich lieber mal vom Acker ;)
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.