Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > > Hallo Sanna, > > leider sehe ich in Deinem gekürzten Listing nicht warum die LED nur kurz aufblinkt. Aber dafür gibt es > ja Debugger, setze einfach Breakpoints an turbine1 und turbin2 und SingleStep bis Du siehst, warum > die LEDs nicht dauerhaft blinken. > > Gruss Peter > > > Hallo ihr Lieben! > > Ich hab ein problem mit meiner C-Control Pro. Ich will, dass sie bei verschiedenen tasteneingaben am Display > > etwas ausgibt. Das funktionierte auch super. Nur soll jetzt zusätzlich eine LED blinken. Das ging zuerst > > auch, nur auf einmal bricht das programm einfach ab und lässt die LED nur einmal kurz aufzucken. > > Vielleicht kann mmir ja jemand helfen. Wäre toll! > > Hier mein Code von der Eingaberoutine: (ist vielleicht etwas lang und kompliziert geschrieben) > > In den Funktionen turbine1() und turbine2() steht (bei trubine2 ist das Absdelay dann 1000): > > void turbine1(void) > > { > > Port_WriteBit(PORT_LED1,PORT_ON); //LED1 blinkt mit 0,5 Hz > > AbsDelay(2000); > > Port_WriteBit(PORT_LED1,PORT_OFF); > > AbsDelay(2000); > > } > > > > //Tasteneingabe > > > > void Eingabe(void) > > { > > key=Key_Scan(); //liest das keyboard > > key_ch=Key_TranslateKey(key); //Wandelt Eingabe in ASCII code um > > > > Msg_WriteHex(key); //schreibt gedrückt taste als Hex_wert in Ausgabe-Fenster > > Msg_WriteText(crlf); // Absatz im Ausgabe-Fenster > > > > if (key_ch==49) //Bediener schaltet ein. Taste1 > > { > > LCD_CursorOff(); > > LCD_ClearLCD(); > > LCD_CursorPos(0x00); > > LCD_WriteText(status0); // Gerät zeigt, dass es angeschlaten wurde "on" > > do > > { > > key=Key_Scan(); //liest das keyboard erneut und zwar solange bis Taste2 gedrückt > > key_ch=Key_TranslateKey(key); //wurde, so wird verhindert, dass aus Schleife gesprungen wird > > Msg_WriteHex(key); //schreibt gedrückt taste als Hex_wert in Ausgabe-Fenster > > Msg_WriteText(crlf); // Absatz im Ausgabe-Fenster > > }while(key_ch!=50); // falls keine tasteoder eine andere gedrückt wird > > > > > > if (key_ch==50) // Wenn Taste 2 gedrückt wurde (Sensoreingänge liefern ok),dann zeigt das Gerät > > { // "Ready" an > > LCD_CursorOff(); > > LCD_ClearLCD(); > > LCD_CursorPos(0x00); > > LCD_WriteText(status1); > > do > > { > > key=Key_Scan(); //liest das keyboard wieder bis Taste3 gedrückt wurde. Erklärung siehe Oben > > key_ch=Key_TranslateKey(key); > > Msg_WriteHex(key); //schreibt gedrückt taste als Hex_wert in Ausgabe-Fenster > > Msg_WriteText(crlf); // Absatz im Ausgabe-Fenster > > }while(key_ch!=51); > > > > if (key_ch==51) // Wenn taste3 gedrückt wurde, zeigt das Gerät dies an > > { > > LCD_CursorOff(); > > LCD_ClearLCD(); > > LCD_CursorPos(0x00); > > LCD_WriteText(status3); > > > > do > > { > > turbine1(); > > key=Key_Scan(); //liest das keyboard wieder bis Taste3 gedrückt wurde. Erklärung siehe Oben > > key_ch=Key_TranslateKey(key); > > Msg_WriteHex(key); //schreibt gedrückt taste als Hex_wert in Ausgabe-Fenster > > Msg_WriteText(crlf); > > }while(key_ch!=52); > > > > if (key_ch==52) // Wenn taste 4 gedrückt wurde > > { > > > > LCD_CursorOff(); > > LCD_ClearLCD(); > > LCD_CursorPos(0x00); > > LCD_WriteText(status4); > > do > > { > > turbine2(); > > Msg_WriteHex(key); //schreibt gedrückt taste als Hex_wert in Ausgabe-Fenster > > Msg_WriteText(crlf); > > }while(true); > > } > > } > > } > > } > > } > > > > Vielen vielen Dank