Zitat Zitat von hrei
Zitat Zitat von SprinterSB
Einen Timer verwendet man so oder so, aber einmal verwendet man dessen InputCapture-Einheit, um Zeiten genau zu messen, und einmal verwendet man externe Impulse, um den Timer hochzählen zu lassen. Bei letzterem braucht man noch einen zweiten Timer.
Dummerweise liegen die Tx Eingänge an anderen Pins als die ICPx.
Öhmm... ganz so isses ja nu nicht.

* Die Pulsein-Methode verwendet keinen Timer.

* Die Capture Methode verwendet einen Timer.

* Die Zählmethode verwendet einen Timer für die Torzeit.
Die Impulse erfasst man am besten über einen Interrupteingang, alternativ geht natürlich auch eine Flankendedektion an jedem beliebigen Pin per Software.

Grüße
Henrik
Mag sein, daß Pulsin das so macht...

Ich bezog mich in meinem Post auf die Möglichkeiten der zugrundeliegenden AVR-Hardware.

Wenn man seinen AVR auf 1MHz getaktet hat, dürfte man IMHO arge Probleme bekommen, wenn man versucht, Frequenzen über 100kHz softwaremässig zu messen, wahrscheinlich sogar schon deutlich früher. Vor allem mit Basic.

Flankendetektion über Polling und externe IRQs liefern zudem ein recht fehlerbehaftetes Ergebnis, vor allem erster Ansatz. Die Schleife dürfte nicht länger dauern als 10 Takte. Eine auf externe IRQ basierende ISR dürfte komplett nicht länger dauern als 6 Takte (4 Takte IRQ-Latenz). In beiden Fällen sind (andere) IRQs tabu.

Warum also sollte man die Möglichkeiten der Hardware nicht nutzen?