Forum: Mikrocontroller und Digitale Elektronik PIC30F4011 Capture Input Drehzahlmessen


von Kati (Gast)


Lesenswert?

Hallo!

Ich bin noch nicht sehr bewandert im Programmieren und habe deswegen 
arge Probleme mit der Programmierung meines PIC30F4011.

Ich möchte einen Drehzahlsensor an den Eingang Capture Input meines µC 
anbinden. Die Schaltung hierfür steht auch soweit.
Das Prinzip der Frequenzmessung durch Capture Input ist mir auch klar, 
theoretisch.

Die Capture-Eingänge sind mit einem Timer verknüpft. Bei einem 
Flankenwechsel des angelegten Signals wird ein Zeitstempel dieses Timers 
im Capture-Register abgelegt und ein Interrupt ausgelöst.
In der Interrupt-Routine wird der Zeitstempel gesichert und ein Counter 
inkrementiert.

Im normalen Programmlauf wird zyklisch der Counter geprüft. Wenn er seit 
der letzten Prüfung inkrementiert wurde, findet eine neue Berechnung 
statt: Vom gesicherten Zeitstempel wird der vorherige Zeitstempel 
abgezogen und durch die Anzahl der neuen Inkrements geteilt. Dann wird 
der Zeitstempel als vorheriger Zeitstempel gesichert.
So erhält man die Periodendauer (oder Halbperiodendauer je nach dem ob 
man auf positiver und negativer Flake captured oder nur auf einer).

Soweit zur Theorie. Mein Problem ist nun das ganze in einen C Code zu 
verpacken das meine Überlegungen da funktionieren.

Kann mir vllt jmd ein Tutoriel oder ähnliches nennen, mit dem ich das 
lernen kann?

Vielen Dank
LG Kati

von Teo D. (teoderix)


Lesenswert?

Kati schrieb:
> Kann mir vllt jmd ein Tutoriel oder ähnliches nennen, mit dem ich das
> lernen kann?

https://www.google.de/?gws_rd=ssl#q=c+tutorial+deutsch+anf%C3%A4nger

Die such Begriffe, kann man natürlich noch individuell anpassen.

von m.n. (Gast)


Lesenswert?


von Kati (Gast)


Lesenswert?

Leider stehe ich immer noch auf dem Schlauch. Auch googeln hat da leider 
nicht geholfen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.