- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 10 von 45

Thema: Mein erster Code auf dem Mega 32: Lauflicht

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    24.02.2006
    Ort
    3. Planet eines kleinen Sonnensystems in einem Seitenarm der Milchstraße
    Alter
    70
    Beiträge
    622

    Re: Mein erster Code auf dem Mega 32: Lauflicht

    Hi,

    es ist wichtig, dass Du im AVRStudio die Parameter richtig einstellst. Einmal unter "Project|Configuration Options|Frequency" (siehe erste Anlage) und dann unter "Debug"AVR SimulatorOptions" oder direkt im Frequenzfenster des Simulators. Ich habe Deinen Code simuliert und komme auf knapp über 10ms (siehe Anlage 2). Nimm die ganze FCPU-Sache aus Deinem Code und stelle alles im AVRStudio wie oben gesagt ein. In meinem Beispiel (1. Anlage) habe ich "keine Optimierung (=-O0)" gewählt; typischerweise nimmt man mindestens "-O1".

    Dein Code ist etwas holprig: Statt
    Code:
    PORTB &= (1<<bPORTB[i].PIN);
    
    PORTB |= (1<<bPORTB[i].PIN);
    kannst Du z.B. direkt (1<<i) verwenden. Übrigens: Beim ATmega32 kann man die einzelnen Ausgangspins nicht mit Hilfe von PINx |= PINx "togglen" (20:04 editiert: verkehrt -- muss heißen: "PINx |= KONSTANTE;"), aber bei den neueren ATmegas geht das!

    Hier eine Lösung für Deine Schleife:
    Code:
    while(!(PINA & (1<<PINA1))){ 
             for(int i=0; i<8; i++){ 
                blablabla();
             } 
    }
    Viel Erfolg und Spaß bei der Weiterentwicklung!

    Gruß

    Fred
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken atmega32_avrstudio_fcpu.png   ll_test.png  
    Only entropy comes easy. - Anton Checkhov

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress