@Dirk:
das mit dem kontiniuerlichen anzeigen der werte und dem abbruch per zweiten tastendruck funktioniert jetzt so weit 
die fuktion:
Code:
void korrekrur_richtung(void)
// Wertebereich new_dir und old_dir: 0..359
// Ergebnis in rot! Positiv: Rechtsdrehung, negativ: Linksdrehung!
{
dev = new_dir - old_dir;
rot = dev;
if (abs(dev) > 180)
{
{
if (dev < 0)
{
rot = 360 + dev;
}
else
{
rot = -360 + dev;
}
}
}
}
berechnet und legt in der variablen "rot" den wert ab und die richtung der drehung sollte durch das vorzeichen von "rot" bestimmt werden. In der funktion:
void rotate(uint8_t desired_speed, uint8_t dir, uint16_t angle, uint8_t blocking)
werden ja die parameter speed, dir, angle und blocking eingesetzt und ausgeführt. Der parameter für die drehrichtung ist aber per vorzeichen schon in der variablen "rot" enthalten. Wie "trixe" ich nun den befehl rotate aus?
Lesezeichen