Hallo Leute,
ich schreibe gerade ein Programm z.T. in ASM.
Ich verwende einen ATmega644.
Ich muss das Timer1-Register TCNT1L und TCNT1H auslesen.
Die Frage ist, wie ich das anstelle =)
im Datenblatt steht folgendes Code-Beispiel:
1 | TIM16_ReadTCNTn:
|
2 | ; Save global interrupt flag
|
3 | in r18,SREG
|
4 | ; Disable interrupts
|
5 | cli
|
6 | ; Read TCNTn into r17:r16
|
7 | in r16,TCNTnL
|
8 | in r17,TCNTnH
|
9 | ; Restore global interrupt flag
|
10 | out SREG,r18
|
11 | ret
|
Wenn man sich aber die Register anschaut merkt man, dass das Register
TCNT1L/H auf der SRAM-Adresse 0x85 liegt, und somit nicht von den IN und
OUT Befehlen genutzt werden kann.
Ist das eine Ungenaigkeit vom Datenblatt, oder habe ich irgendwas mit IN
und OUT falsch verstanden?
Gruß, Yaro