Zitat Zitat von Besserwessi
.. so kompliziert ist das gar nicht. ...
Anfangs klang es für mich auch kompliziert. Aber jetzt - ich hab mir grad das ATMEL-doc vom tiny2313 angesehen. Weil ich den Pin GARNICHT kannte . Jetzt hört sich das ja sehr gut an. Danke für den Hinweis. Da ich erst ein drei-Monats-Wickelkind im Bezug auf die µC bin, hab ich jetzt gleich ein paar Fragen dazu.

Sehe ich das richtig, dass ich jetzt ziemlich einfach ne Motordrehzahl messen kann? Einfach von einem Aufnehmer das Signal (ok, der Pegel muss stimmen) auf den Pin legen, ICP einschalten, Input Capture Flag löschen, DIESEN Interrupt erlauben (aber das ist doch ein Interrupt, den andere auch benutzen? Kann ich den schalten ähnlich sei/cli?), ersten Interrupt abwarten, ist das (beim tiny2313) der

.org 0x0003 reti ; TIM1_CAPT ;Timer1 Capture Handler ??

oder welcher Interrupt ist das? Timer starten, zweiten Interrupt abwarten (kann ich den auf die gleiche Flanke setzen?), Timer auslesen - und ich kenn die Periodendauer des Drehzahl-Sensors. Ohne glitch und wenn und aber. Machen das alle so? Oder denke ich da falsch?

Und warum schreiben die im doc 2543, S 94 mitte: "An Input Capture can be triggered by software by controlling the port of the ICP1 pin." - MUSS ich das alles per Software machen? Dann hätte die Interrupt-Geschichte doch keinen solchen Sinn?

Fragen:
a) Wird (Kann) vom ICP ein Interrupt ausgelöst (werden)?
b) Welcher Interrupt wird vom ICP ausgelöst?
c) Welche Interruptquellen benutzen den gleichen Interrupt?
d) Ist Flankenerkennung möglich beim ICP?
e) Kann der "ICP Interrupt" explizit erlaubt/verboten werden? Unabhängig von anderen Interrupts?
f) Was bedeutet der Software-Hinweis im doc?
g) Was gibts da noch zu bedenken? Ich hab ja sowieso ein gewissens Problem, weil ich bisher in Assembler dachte - und nun in C die allergrösste Mühe besonders mit Interrupts habe .

Zitat Zitat von Besserwessi
... Um es Anfangs einfach zu haben, kann man den Timer langsam genug laufen lassen, das man sich nicht um Überläufe des Timer kümmern muss. ....
Na ja, ich weiss nicht, wenn ich die Drehzahl zwischen 800 Hz und 1 Hz messen will - dann ist das Spektrum doch etwas weit . . . . oder?

Sorry für die vielen Fragen. Ich könnt ja auch das doc durchlesen