PWM einlesen

Gast #141300
Hi,

muss die Temperatur über einen Sensor der mir ein PWM Signal gibt
verarbeiten. Hab das einlesen einer PWM noch nie gemacht.

Ich hab mir überlegt das ich das über einen Interrupt der bei
steigender Flanke auslöst und dann mit X=X+1 zählz mache. Dann müsste
ja das X der Pulseite entsprechen.
Programm sieht folgendermasen aus:

int X=0;


void TAST (void) interrupt 0  /*Interruptroutine*/
{
X = X +1;
printf("Zahl = %d \n",Zahl);
}

Hab aber das Problem das ich das PWM Signal anscheinend zu schnell ist
und deswegen zählt der µC immer weiter und hört nicht auf.

Wie macht man das normalerweise mit dem einlesen einer PWM?

DANKE schon mal im Vorhinein.

LG Stefan
Gast #141301
Woher weist du wann der Impuls wieder die fallende Flanke hat?
Steigende Flanke erkennen, Zeit zählen, auf fallende Flanke erkennen
umstellen, wenn erkannt dann Zeit ende. Dann hast du die Impulsbreite.
Gast #141302
Sieh mal bei den Modellbauern nach, die müssen das auch machen.
Kann man beispielsweise so machen:
Interrupt0 auf beide Flanken stellen.(geht z.B. beim Mega8)
In der Interuptroutine pin auf high testen, war steigende flanke.
Variable "X" auf null setzen.
ist der Portpin LOW, war es eine fallende Flanke, Variable "X"
auslesen und anzeigen.
Die Variable "X" wird im Timerinterrupt unabhängig vom Int0 langhin
hochgezählt. Die Genauigkeit/Auflösung hängt von der
Zählgeschwindigkeit des Timers ab.
AxelR.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.