Mahlzeit zusammen,
ich bräuchte mal bitte etwas Unterstützung, da ich noch nicht ganz
sattelfest bin in C.
Aufgabenstellung ist einen Motor mit Poti auf eine bestimmte Position zu
fahren. Da beim Stoppen der Sollwert des Potis fast immer überfahren
wird, würde ich es gerne mit einem Annäherungswert lösen.
Also: Fahre auf Position x +/- 10 ADC Einheiten.
Beim compilieren dieser while Anweisung streikt der GCC allerdings
(...expected ')' before AND) :
//snip
1 | void gotopos (uint8_t motor, uint16_t position)
|
2 | {
|
3 | while (((adcwert (motor)) < (position + 10)) AND (((adcwert (motor)) > position - 10)))
|
4 | {
|
5 | // Motor fahren in die eine oder andere Richtung ...
|
6 | }
|
7 | }
|
//snap
"adcwert()" ist natürlich eine Funktion, der der ADC Kanal (motor)
übergeben wird und die einen uint16_t zurück gibt. Position ist ein Wert
zwischen 0 und 999.
Ich weiß, dass die AND Verknüpfung bei IF Abfragen funktioniert.
Bei While vielleicht nicht?
Für alle Hinweise zum Täter bin ich sehr dankbar.
Thx
Moscito