Hallo

Bei den Lauflichtern in "if(behave == 2)" ab Zeile 470:

if(runLEDs > 7 ) müßte wohl >5 heisen, weil es 6 LEDs sind.

Die "eigenefunktion()" vielleicht so:
Code:
void eigenefunktion(void)
{
	//PORTC &= ~IO_PC7;
	PORTC &= ~IO_PC6;
	//PORTC &= ~IO_PC5;
	PORTC &= ~IO_PC4;


	startStopwatch3(); // sollte besser einmalig in main() gestartet werden

	if (getStopwatch3() < 100)
	{
		PORTC |= IO_PC7;
		PORTC |= IO_PC5;
	}
	else
	{
		PORTC &= ~IO_PC7;
		PORTC &= ~IO_PC5;
		if (getStopwatch3() > 200)
			setStopwatch3(0);
	}
}
Ich kann's nicht kompilieren, das liegt aber nicht nur daran, dass ich das Erweiterungsmodul nicht besitze.

Meine LEDs bringe ich so zum Blinken:
Code:
#include "RP6RobotBaseLib.h"

#define blinkLED6 statusLEDs.LED6=(getStopwatch1() & (1<<6)) && 1

uint8_t blink3;

int main(void)
{
	initRobotBase();
	setLEDs(0);

	//Zeitgeber für das Blinken starten
	startStopwatch1();

	while(true)
	{
		//LED1 blinkt langsam
		statusLEDs.LED1 ^=(getStopwatch1() & (1<<9));

		//LED2 blinkt schnell
		statusLEDs.LED2=(getStopwatch1() & (1<<7)) && 1;

		//LED3 blinkt variabel (0 bedeutet aus)
		blink3=8;
		statusLEDs.LED3=(getStopwatch1() & (1<<blink3)) && 1;

		//LED4 flasht
		statusLEDs.LED4=!(getStopwatch1() & (0b101<<6)) && 1;

		//LED5 flackert
		statusLEDs.LED5=(getStopwatch1() & (0b1001<<5)) && 1;

		//LED6 blinkt mit #define
		blinkLED6;

		//LED-Status aktuallisieren
		updateStatusLEDs();

		//das funktioniert natürlich auch mit der pwrLED
		if (!(getStopwatch1() & (9<<8)) && 1) powerON(); else powerOFF();
	}
	return 0;
}
Gruß

mic