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
Lesezeichen