Gast
#3996709
Hallo! Ich möchte für eine 1-Wire Kommunikation einen kleinsten Delay von 200 ns erzeugen. Controller ist ein AT32UC3B0265 Meine Herangehensweise: Takt ist 60 MHz, Timer0 nimmt 30 MHz. Das RC Register wird geladen und ein Interrupt bei erreichen des Wertes ausgelöst. Im Interrupt wird ein Flag gesetzt, im Hauptcode wird in einer While-Schleife auf das Flag gewartet. Bei 30 MHz zählt er alle 33,3 ns hoch, RC auf 6 geladen müsste also circa 200 ns warten. Code:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
Kann man das überhaupt so machen, oder muss ich im Assembler rum fummeln?