Hallo,
Hallo WarChild,
hmm also da musst Du aber noch irgendwas anderes verändert haben am Programm - denn wenn ich hier im Cruise Behaviour einfach mal
Code:
static uint16_t test = 0;
writeString_P("\nTest:");
writeInteger(test++,DEC);
reinschreibe funktioniert dennoch alles andere wie erwartet.
(Das sollte man aber besser von einer Stopwatch regeln lassen.)
Damit das mit den LEDs richtig funktioniert, musst Du natürlich diese Funktion hier:
Code:
/**
* ACS Event Handler - ONLY used for LED display!
* This does not affect the behaviour at all!
* The sensor checks are completely done in the Avoid behaviour
* statemachine.
*/
void acsStateChanged(void)
{
if(obstacle_left && obstacle_right)
statusLEDs.byte = 0b100100;
else
statusLEDs.byte = 0b000000;
statusLEDs.LED5 = obstacle_left;
statusLEDs.LED4 = (!obstacle_left);
statusLEDs.LED2 = obstacle_right;
statusLEDs.LED1 = (!obstacle_right);
updateStatusLEDs();
}
anpassen ODER diese Zeile in der Main Funktion auskommentieren:
ACS_setStateChangedHandler(acsStateChanged);
Sonst kommt sich das in die quere.
Du kannst aber z.B. auch nur zwei LEDs für das ACS verwenden und den rest für was anderes - musst nur die entsprechenden Zeilen da in der obigen Funktion auskommentieren.
(vor allem die ersten vier Zeilen der Funktion müssen weg)
MfG,
SlyD
Lesezeichen