Generierung eines Mikrosekundenimpulses

Hallo,

Wenn es präzise und einstellbar sein soll, dann wirst du dich wohl oder übel mit der Hardware und Manual beschäftigen müssen. Leider hast du dir mit dem Due gleich einen Brocken rausgesucht. Mit Geduld ist auch das machbar. Du musst einen Timer selbst konfigurieren. Es gibt sogar einen Timermode "Pulse Generation".
Den Taster musst du so programmieren das er je entprellten Tastendruck nur einmal auslöst. Also beim drücken nicht nochmal auslöst sondern erst bei erneuten drücken. Ansonsten löst er mehrere Impulse hintereinander aus.
Wenn gedrückt erkannt wurde dann Timer starten und nach Puls wieder stoppen und warten bis zum nächsten Tastendruck. Soviel zum Grundprinzip.
Du hast also 2 Aufgaben.
a) Taster nicht retriggerbar entprellen
b) Timer konfigurieren

Was ich so beim überfliegen des Manuals lese kann der Timer wohl den Coretakt von 84MHz mitgehen.
Du hättest eine Auflösung bis runter auf 11,9ns zur Verfügung. Für 1µs muss demzufolge er Timercount 84 betragen. Tipp. Auf der Seite des µC wo es das Manual gibt, gibt es auch eine Appnote für ein Timer Bsp.. Dieses erst durcharbeiten und dann eigene Versuche starten.
Das könnte auch ein Beispiel sein. Am Ende änderst du "nur" paar Registereinstellungen wenn du dich eingearbeitet hast.

Für die ESP Leute, auch bei diesem kann man einen Timer konfigurieren.

nop kann man machen für konstante Pulslängen. Wenn man das mit nop flexibel machen möchte und das in eine for Schleife packt wird es schon wieder ungenau. Ist aber alles in allen blockierend.