Hallo!

Ich hab mich als Neueinsteiger mal sehr grundlegend mit den ersten Beispielprogrammen beschäftigt und ein paar Sachen ausprobiert.
Dabei habe ich folgendes einfaches Testprogramm geschrieben:

Code:
void bumpersStateChanged(void)
{
	statusLEDs.LED5 = bumper_left;
	statusLEDs.LED4 = (!bumper_left);
	statusLEDs.LED2 = bumper_right;
	statusLEDs.LED1 = (!bumper_right);
	
	updateStatusLEDs();
}

int16_t main(void)
{
	initRobotBase(); 	
	BUMPERS_setStateChangedHandler(bumpersStateChanged);

	while(true)
	{
		task_RP6System();
	}
	return 0; 
}
Das sollte passieren:
Wenn der rechte Bumper gedrückt wird sollte LED1 ausgehen, dafür LED2 an. Analog beim linken Bumper und LEDs 4 und 5.

Das passiert wirklich:
Beim linken Bumper klappt alles super, rechts geht zwar LED1 beim Betätigen des Bumpers aus, LED2 geht aber NICHT an!
Noch seltsamer ist aber: Wenn ich
Code:
statusLEDs.LED2 = bumper_right;
ersetze durch
Code:
statusLEDs.LED2 = (!(!bumper_right));
funktioniert es wie erwartet...was ist da denn los?!?

Gruß, Benny