- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 10 von 43

Thema: strukturen, ein- und ausstieg

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    Zitat Zitat von Dirk Beitrag anzeigen
    Was du ja wohl machen willst ist eine Art "Menüstruktur". Du drückst eine Taste und ein Programmteil startet. Dann beendet man das wieder durch einen Tastendruck und kommt zurück ins Auswahlmenü.
    Der Aufruf der main() und auch noch ohne Abbruch der do-while Struktur ist keine gute Idee!
    genau. und wenn es mit "brutaler kraft" sein muss - ich hatte keine idee und dachte eher an das gute alte "goto" aus basic-zeiten. Würde das ein eingesetztes break abmildern, oder ist die ganze idee für die katz?


    Zitat Zitat von Dirk Beitrag anzeigen
    Das braucht etwas mehr Aufwand, als per brute-force in die main zurückzuspringen.
    Du kannst aber z.B. im RP6Base_SELFTEST.c sehen, wie man ein solches Menü bauen kann.
    meinst Du das hier?
    Code:
    test = receiveBuffer[0] - 48; 
             
            if(receiveBuffer[0] == 's') 
            { 
                speed_control(); 
            } 
            else if(receiveBuffer[0] == 'd') 
            { 
                testMoveDistance(); 
            } 
            else if(receiveBuffer[0] == 'c') 
            { 
                testEncoderDutyCycle(); 
            } 
            else if(test > 8) 
            { 
                writeString_P("You need to enter a single number from 0 to 8, s, d or c!"); 
                continue; 
            } 
            else 
            {
    
    switch(test) 
                { 
                    case 0:  
                        testPowerOn(); 
                        testLEDs(); 
                        testVoltageSensor();  
                        testBumpers();  
                        testLightSensors();  
                        testACS();  
                        testRC5();  
                        testMotorsAndEncoders(); 
                    break;      
                    case 1: testPowerOn();                 break;  
                    case 2: testLEDs();                 break;  
                    case 3: testVoltageSensor();        break;          
                    case 4: testBumpers();                 break;     
                    case 5: testLightSensors();         break; 
                    case 6: testACS();                      break; 
                    case 7: testRC5();                       break; 
                    case 8: testMotorsAndEncoders();     break;     
                }
    }
    ich erkenne hier eher eine einstufige abfragesituation und innerhalb der einzelnen cases oder if-abfragen läuft hier keine while-schleife...
    gruß inka

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    @inka:
    ...und dachte eher an das gute alte "goto" aus basic-zeiten. Würde das ein eingesetztes break abmildern, oder ist die ganze idee für die katz?
    Goto gibt's immer noch,- ist aber ziemlich verpönt. Es läßt sich auch sehr gut umgehen ...
    ...ich erkenne hier eher eine einstufige abfragesituation und innerhalb der einzelnen cases oder if-abfragen läuft hier keine while-schleife...
    Das sieht nur so aus. In den einzelnen Funktionen des Testprogramms wird teilweise auch eine Abbruchbedingung abgefragt.
    D.h.: Die Einzelfunktionen bestimmen selbst, ob sie einmalig durchlaufen oder dauerhaft bis zu einer Abbruchbedingung. Daher braucht es in der case Struktur keine do-while Schleife.
    Gruß
    Dirk

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 23.03.2012, 22:36
  2. Probleme feine Strukturen zu drucken für Platine
    Von Hellmut im Forum Konstruktion/CAD/3D-Druck/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 12
    Letzter Beitrag: 20.12.2010, 13:35
  3. Antworten: 11
    Letzter Beitrag: 07.09.2008, 16:56
  4. Probleme bei Strukturen (Projekt Funkuhr)
    Von Wasserkäfer im Forum C - Programmierung (GCC u.a.)
    Antworten: 9
    Letzter Beitrag: 19.07.2008, 15:10
  5. Ein Quarz für ein ATMEGA8 und ein ATMEGA16
    Von boeseTURBO-CT im Forum AVR Hardwarethemen
    Antworten: 6
    Letzter Beitrag: 14.06.2004, 16:07

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress