Hallo,
die Anwendung ist relativ speziell, ich kann mir nicht vorstellen, dass es genau dazu Literatur gibt.
Möglichkeiten der Umsetzung dafür gibt es viele, hängt auch davon ab, wie genau die Pulsdauer bestimmt werden muss und was nebenher gesteuert/berechnet etc. werden muss.
Denkbar z.B.:
- Polling: im Hauptprogramm ständig die PWM-Pins abfragen und einen Zähler in SW hochzählen lassen solange Pin auf High ist
- Timer/Counter/Capture mit externem Pin gesteuert
- Interrupts auf steigende/fallende Flanke des PWM-Signals ...
Natürlich hat jeder Ansatz seine Vor- und Nachteile. Was sich eignet, hängt stark davon ab, was nebenher laufen muss und welche Genauigkeit der Pulsbreitenbestimmung erforderlich ist. Muss die Pulslänge aufs Prozent genau bestimmt werden oder reicht die Bestimmung von "linker Anschlag/Mitte/rechter Anschlag" o.ä. ? Was genau soll der Controller später schalten?
Grüße, Bernhard