Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Programm bricht immer ab Kategorie: Programmierung C (von Sanna - 6.04.2009 16:38)
Ich nutze:
C-Control Pro Mega32
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


    Antwort schreiben


Antworten:

Re: Programm bricht immer ab (von PeterS - 6.04.2009 18:07)
    Re: Programm bricht immer ab (von Sanna - 7.04.2009 13:30)
        Re: Programm bricht immer ab (von PeterS - 8.04.2009 19:14)