Titelbild Mikrocontroller

12.8.3. Verwendung der Input Capture Einheit

Die größte Herausforderung bei der Verwendung der Input Capture Einheit liegt darin, ausreichend Prozessorkapazität zur Verfügung zu stellen, um die eingehenden Ereignisse zu bearbeiten. Vor allem die Zeit zwischen zwei auftretenden Ereignissen ist kritisch. Wenn der Prozessor den erfassten Wert im ICR1 Register noch nicht gelesen hat, bevor das nächste Ereignis auftritt, so wird das ICR1 Register mit dem neuen Wert überschrieben. In diesem Fall wird das Ergebnis also unbrauchbar.

Wenn der Input Capture Interrupt verwendet wird, muss der Wert des ICR1 Registers so früh wie möglich in den Interruptroutine gelesen werden. Auch wenn der Input Capture Interrupt eine relativ hohe Priorität hat, ist die maximale Antwortzeit von der maximalen Länge der anderen Interruptroutinen abhängig.

Es wird nicht empfohlen, die Input Capture Einheit zu verwenden, wenn der TOP Wert aktiv während der Arbeit verändert wird.

Messungen von Pulsweiten externe Signale erfordert, dass die Flankenerkennung nach jeder Erfassung umgeschaltet wird. Das Umschalten der Flankenrichtung muss so früh wie möglich nach dem Auslesen des ICR1 Registers erfolgen. Nach dem Ändern der Flankenrichtung muss das Input Capture Flag (ICF1) durch die Software gelöscht werden. Wenn nur die Frequenz des externen Signals gemessen werden soll, so muss das ICF1 Bit nicht durch die Software gelöscht werden, wenn die entsprechende Interruptroutine verwendet wird.
Impressum