- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 6 von 6

Thema: Compilieren mit WINAVR

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    67
    Beiträge
    2.435
    Hallo Geier,
    Zitat Zitat von oberallgeier Beitrag anzeigen
    b) Nach meinem bescheidenen Wissen zu C endet die Ausführung von while(1); unmittelbar nach dem Semikolon, also unmittelbar nach einmaligem Durchlauf. Dagegen werkelt die ähnliche, übliche Syntax der Dauerschleife - also while (1) {}; - theoretisch ohne Ende, unendlich, dauernd . . .
    Nicht so ganz ....
    Die Syntax lautet
    while (Bedingung) Befehl ;

    Da jeder Befehl mit einem ";" enden muss, wäre es nicht möglich mehrer Befehle in der Schlaufe auszuführen.
    Mit { .... } kann man beliebig viele Befehle zu einem Bloch zusammenfassen, welche dann syntaktisch als einzelner Befehl ausgewertet werden.
    C erlaubt auch leere Befehle. Somit sind

    while(1);
    und
    while(1) {};
    gleichwertig.

    Überall wo in C ein Befehl stehen darf kann man mit geschweiften Klammern auch einen ganzen Block einfügen.


    MfG Peter(TOO)
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.698
    Zitat Zitat von Peter(TOO) Beitrag anzeigen
    Hallo Geier,
    Nicht so ganz ....
    Die Syntax lautet
    while (Bedingung) Befehl ; ...
    Danke Peter, kein Zweifel Du hast Recht. Es ist dumm gelaufen mit meiner falschen Antwort: der Kernighan-Ritchie erwähnt nirgendwo die Form ohne geschweifte Klammern (diese Klammern sind dort sicher irgendwo als Befehlspaket-Schnürsenkel erläutert), ich selbst hatte diese Schreibweise nie verwendet (komisch wo ich doch extrem schreibfaul bin :-/ ), aber ne Internetrecherche hatte für mich mal diese Form (glaubwürdig) als Einmaldurchlauf beschrieben. Beim Schreiben klingelte meine Terminerinnerung und ich hatte daher meine Aussage nicht durch nen Test bestätigt. Nu hab ich den Test grad hinter mir - hab den Salat - und danke Dir wie immer für Deine Geduld mit meinen Un-Kenntnissen.

    Test
    Code:
    // Testcode im main:
    // - - - - - - - - - - - - - - - -
        uputs0 ("\r\twhile (1); im main wird gestartet");   //
        while (1);
        uputs0 ("\r\twhile (1); im main ist abgearbeitet");   //
    
    // - - - - - - - - - - - - - - - -
    Testergebnis - vollständiger Ausdruck; es fehlet die zweite Ausgabe "... ist abgearbeitet". Wen wunderts noch?
    Code:
        C501 R5M10_70 m1284/20MHz 31. Okt. 2015 08:48
        UART0_128 - 115 kBd.    UART1_128 - 57 kBd.
        Reset (warm, PC2) durch RC5x3 987
        KEIN zyklischer, automatischer Reset
        I²C - twimaster 78 kHz, TWBR = 120
        RC-5 auf PC4, RC3BYT
    
        Init ADC : ADC6-Batt    Ub_ADC5 Min 500 , Mess 341
    
        main => i2clook    Suche I²C-Devices im Bereich 0x70/112dez - 0xFE/254dez
        ---------
            Slave addr    130 dez = 0x82    MoCo
            Slave addr    132 dez = 0x84    KoCo
            Slave addr    134 dez = 0x86    ARCo
            Slave addr    136 dez = 0x88    ALCo
        ----------------------------------------------------
        Jedes '-' bedeutet: Slave/s nicht vorhanden oder defekt.
        i2clook => main
        while (1); im main wird gestartet 
    Geändert von oberallgeier (31.10.2015 um 09:28 Uhr) Grund: Test

    Hier die Internetquelle mit der falschen Antwort.
    Geändert von oberallgeier (03.11.2015 um 16:15 Uhr) Grund: Nachtrag der Internetquelle
    Ciao sagt der JoeamBerg

  3. #3
    Neuer Benutzer
    Registriert seit
    22.03.2014
    Ort
    Nähe Kassel
    Beiträge
    4
    Blog-Einträge
    1
    Moin zusammen,

    es funktioniert. Es ist wohl so, dass man erst das Programm abspeichern muss vorm Kompilieren. Bin ich von DEV-C++ und MPLABX anderas gewohnt.

    Herzlichen Dank für eure schnellen Antworten
    Andreas

Ähnliche Themen

  1. Fehler bei Compilieren
    Von Jiter im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 24.10.2009, 20:37
  2. WinAVR (Anzeige Speicherbelegung nach dem compilieren)?
    Von Henry im Forum C - Programmierung (GCC u.a.)
    Antworten: 11
    Letzter Beitrag: 05.08.2008, 17:33
  3. Compilieren mit myAVR Workpad / WinAVR
    Von boina im Forum C - Programmierung (GCC u.a.)
    Antworten: 7
    Letzter Beitrag: 20.12.2007, 08:12
  4. avr-gcc: compilieren & hex
    Von Benedikt.Seidl im Forum C - Programmierung (GCC u.a.)
    Antworten: 16
    Letzter Beitrag: 12.05.2006, 19:53
  5. Fehlermeldung beim Compilieren in WinAVR
    Von Henry im Forum C - Programmierung (GCC u.a.)
    Antworten: 1
    Letzter Beitrag: 10.05.2006, 14:45

Stichworte

Berechtigungen

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

LiFePO4 Speicher Test