mikrocontroller.net

Forum: Compiler & IDEs pwm einlesen und genau bestimmen


Autor: mex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo zusammen

auf einem atmega48 lese ich ein pwm signal ein. timer1 läuft mit cpu 
clock 20mhz und ich verwende folgende sequenz. dabei setze ich den timer 
auf null, starte ihn, bei der ersten wechselnden flanke lese ich ihn aus 
- ohne zu stoppen - und bei der zweiten flanke stoppe ich und lese aus. 
die abweichungen  sind eigentlich minim. trotzdem würde ich gerne wissen 
ob dieses vorgehen korrekt ist oder ob es noch bessere varianten gibt.

vielen dank


      TCNT1H = 0;      // order important
      TCNT1L = 0;
      while ( READ_PIN( TEMP_IN ) )
        ;
      while ( !READ_PIN( TEMP_IN ) )
        ;
      TCCR1B = ( 0 << CS12 | 0 << CS11 ) | ( 1 << CS10 );  // prescale 
and start timer
      while ( READ_PIN( TEMP_IN ) )
        ;

      t1l = TCNT1L;    // order important
      t1h = TCNT1H;

      while ( !READ_PIN( TEMP_IN ) )
        ;

      TCCR1B = 0;      // stop timer

      t2l = TCNT1L;    // order important
      t2h = TCNT1H;

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du könntest das Timing auch mit dem InputCapture modul messen. Könnte 
noch etwas genauer werden, und braucht weniger Rechenzeit.


Oder: RC an das PWM signal und mit dem AD-Wandler einlesen?

/Ernst

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.