- fchao-Sinus-Wechselrichter AliExpress         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 12 von 12

Thema: präzises timing für 8mhz

  1. #11
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.03.2004
    Beiträge
    185
    Anzeige

    LiFePo4 Akku selber bauen - Video
    OK, Du kannst folgendes machen (am Beispiel Mega32):

    Du benutzt den Timer1 zur Zeitmessung. Entweder im CTC-Mode (s.o.) mit Startwert 0 und Vergleich mit MAX oder im Overflow-Mode mit dem Startwert (2^16-MAX).

    Du brauchst dafür keine ISR zu schreiben, da Du im CTC-Mode das Output Compare Flag (OCF1x) bzw. im Overflow-Mode das Timer/Counter Overflow Flag (TOV1) direkt abfragen kannst.

    PseudoCode:
    Code:
    Initialisiere Timer1-Mode
    Lade Timer-Register TCNT1x mit Startwert bzw. 0 (CTC)
    nur CTC: Lade OCR1Ax mit Startwert
    Lösche Compare bzw. Overflow-Flag
    Starte Timer1
    Do
    	36Khz-Signal ausgeben
    Loop Until Compare/Overflow-Flag gesetzt
    Stoppe Timer1
    bzw. wenn Du das 36kHz-Signal mit Hardware oder einer ISR erzeugst:
    Code:
    'Vorspann s.o.
    Starte Timer1
    Starte TimerX-Output 36Khz-Signal ausgeben
    Do
    Loop Until Compare/Overflow-Flag gesetzt
    Stoppe TimerX-Output 36Khz-Signal ausgeben
    Stoppe Timer1
    Dieses Initialisieren mit DO-LOOP machst Du dann jedesmal wenn Du eine genaue Zeitmessung brauchst.

    Nur wofür sind die 12µs Wartezeit (=96Takte@8MHz)?

    ---------------------------------
    Nachtrag zu Deiner anderen Frage:
    Zitat Zitat von robby-fant
    Hallo, ich möchte am OC1A (PD5) 36000 Herz erzeugen für eine Ir-Diode.
    Wie muss der Timer1 conf. werden und wie wird er auf Toggeln geschaltet und wieder gestoppt?
    Nimm dafür ebenfalls den CTC-Mode (eines zweiten Timers). Dazu aus dem Mega32-Manual:
    Clear Timer on Compare Match (CTC) Mode
    For generating a waveform output in CTC mode, the OCx output can be set to toggle its logical level on each compare match by setting the Compare Output mode bits to toggle mode. The OCx value will not be visible on the port pin unless the data direction for the pin is set to output.

  2. #12
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.08.2006
    Beiträge
    183
    Die brauchte ich vorher in der For-Schleife um die 36khz zu erzeugen.

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad