Einlesen von frequenz über CCP Eingänge

Gast #926952
Hallo an alle PWM Profis,

Ich versuche gerade ein Programm zu schreiben. Das Programm sollte die 
Frequenz der Frequenzgenerator über die CCP Eingänge einlesen. Ich weiss 
leider nicht, wie ich anfangen sollen.

Die letzten Tage habe ich mich mit der Einstellung in Compiler 
beschäftigt.


Um den PWM-Mode zu aktivieren habe ich folgendes gemacht:
Die Periode der Rechteckschwingung eingestellt.
Das pulsverhältnis (duty-cycle) eingestellt.
Das CCP Pin zum Ausgang gemacht.
Den PWM-Mode aktiviert

war es richtig was ich gemacht habe?
Persönliche Seite #926997
Bei fast allen Controllern kann man den Pin entweder als

CCP Eingang ODER als
PWM Ausgang konfigurieren

Wie ich das lese, hast Du bisher den als PWM Ausgang konfiguriert.
Du must jetzt also dein µC auf CCP Einlesen konfigurieren.
Bei jeder steigenden oder fallenden Flanke muss dann ein Interrupt 
ausgelöst werden. Dann muss eine Funktion aufgerufen werden, die die 
aktuelle Zeit speichert die Differenz zur letzten Flanke berechnet.

Hier ein Beispiel, wie ich es mal bei einem HC08 gemacht habe:
1
@interrupt void Isr_Tim1Ch0(void)
2
{
3
volatile char dummybyte;
4
typ_word captured; 
5

6
  /* Interrupt Flag loeschen*/
7

8
  dummybyte=t1sc0.byte;
9
  t1sc0.bit.ch0f=0;
10

11

12
  captured.byte.high=t1ch0h.byte; /* erst MSB */
13
  captured.byte.low =t1ch0l.byte; /* dann LSB lesen       */
14

15

16
 /* Flanke */
17

18
  // Berechnung Periodendauer
19
  pwmin_periode0=captured.word-starttime_periode0;
20
    
21
  /* Timer Wert sichern */
22
  starttime_periode0=captured.word;

Gruß, siliCAT

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 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.