Code:
{
dev = new_dir - old_dir;
rot = dev;
if (abs(dev)) > 180
{
{
if (dev < 0)
{
rot = 360 + dev;
}
else
{
rot = -360 + dev;
}
}
}
}
also ich glaube jetzt sind alle klammern richtig, code:blocks hat zumindest alle paarweise gefunden, trotzdem kommt bei der ersten if abfrage "abs(dev)" eine fehlermeldung:
gyro_quadrat.c|90|error: expected expression before ‘>’ token|
das mit dem daueranzeigen der werte habe ich geschafft:
Code:
case 1://richtung NORD
setLEDs(0b0001); //LED 1 leuchtet
while(true)
{
{
new_dir = 180;
sensorwerte_holen();
heading_ausgeben();
old_dir = heading2dm;
setCursorPosLCD(1, 0);
writeStringLCD_P("dir ");
writeIntegerLengthLCD(old_dir, DEC, 3);
writeStringLCD_P(" ");
writeIntegerLengthLCD(new_dir, DEC, 3);
mSleep(1000);
/*
if (key)
{
break;
}
*/
}
}
// move(150, FWD, DIST_MM(500), true); //fährt 50cm
mSleep(1000);
// rotate(50, 3, 90, 1); //dreht um 90°
clearLCD();
break;
nach der zweiten abfrage der variablen key (hier auskomentiert) springt das programm fast sofort (nachdem die werte einmal angezeigt wurden) wieder auf die stelle wo "button 0" angezeit wird, also vor die erste key abfrage - da wollte ich eigentlich, dass es erst auf das zweite drücken eines beliebigen buttons passiert...
Lesezeichen