Gast
#2825128
Hallo, ich verwende den UC3 von Atmel mit 60 MHz. Das bedeutet, dass ein Takt 16,67ns benötigt. Nun möchte ich den Ausgang eines GPIOs schalten und mache das durch Schreiben einer festen Zahl auf das entsprechende (vorher fest definierte) Register. Die CPU braucht also keine Adressen aus zu rechnen oder Bitpositionen zu verschieben. Vereinfacht schaut der Code dann in etwa so aus:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
Eigentlich hat die CPU nicht viel zu tun und braucht nur zwei mal einen festen Wert laden und diesen in eine feste Registeradresse zu schreiben. Für diese Zwei Zeilen benötigt die CPU aber ganze 284ns (und ist somit ein Riesen Vielfaches von den 16,67ns). Das kann doch nicht normal sein, oder? Oder doch? Oder habe ich etwas falsch gemacht/gedacht?