- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 22 von 22

Thema: Atmega Timer problem

  1. #21
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    2.214
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Eine Frage habe ich noch: Warum wird erst in der if-Abfrage (if (us_counter == 0)) der Wert von us_counter mit einem Wert beschrieben (us_counter = 1000; ) und nicht schon davor?
    Eigentlich ganz einfach.
    Wenn die Variable us_couter den Wert 0 hat, dann wird die darunter stehende Routine aufgerufen.
    Als ersten wird dann innerhalb dieser Routine der Variable us_couter der Wert 1000 zugewiesen und dann der Rest der da stattfinden soll ausgeführt.
    Nun wird diese Routine so lange nicht mehr aufgerufen, bis die Variable us_couter wieder den Wert 0 erreicht.
    us_couter wird in einem Timer Overflow Interrupt heruntergezählt, somit hat man eine Zeitverzögerung erreicht.

    Würde man die Variable us_couter ausserhalb der if Abfrage auf 1000 setzen, wäre sie praktisch immer grösser als 0, da sie ja ständig neu gesetzt würde.

    Übrigens teste ich meine Programme gerne mit der Simulator Funktion von AVR Studio 4.
    Damit kann man das Timing wunderbar mit dem Timer und Cycle Conter überprüfen und gucken ob in der Simulation die Ausgänge auch das tun was man erwartet.
    Das Prog hat da zwar ein paar kleinere Bugs, funktioniert aber ansonsten super.

    Der Aufruf bzw. das Einbinden von Interrupts ist Compilerabhängig und sollte sich im Tutorial des jeweiligen Compilers finden lassen. Bei ACR GCC hätt ich jetzt nachschauen müssen.

  2. #22
    Neuer Benutzer Öfters hier
    Registriert seit
    06.09.2013
    Beiträge
    18
    So, also es scheint alles soweit zu Klappen. Beim ersten Versuch hab ich die Freigabe der Interrupts via sei() ; nicht ganz an den richtigen Stellen geschrieben. Aber das ist mir sofort aufgefallen und habe sie richtig setzen können.
    Viele Dank für eure Hilfe! Habe wieder einiges dazu lernen können

    Ganz besonderer Dank geht an Searcher und wkrug!

    Gruß

    Technik_Amateur

Seite 3 von 3 ErsteErste 123

Ähnliche Themen

  1. ATMEGA 16 TIMER-Problem
    Von fulltime im Forum C - Programmierung (GCC u.a.)
    Antworten: 29
    Letzter Beitrag: 16.03.2012, 15:36
  2. [ERLEDIGT] ATMega 16 Timer 1 CTC Probleme
    Von Franky55555 im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 14.06.2011, 18:18
  3. Atmega 8 Timer
    Von woodeye im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 15
    Letzter Beitrag: 25.09.2009, 16:44
  4. Atmega mit >3 Timer
    Von manhunt im Forum AVR Hardwarethemen
    Antworten: 12
    Letzter Beitrag: 14.12.2008, 15:10
  5. Atmega 32 8-Bit Timer Interrupt
    Von Benni im Forum C - Programmierung (GCC u.a.)
    Antworten: 5
    Letzter Beitrag: 23.07.2007, 22:08

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress