Anfängerfrage zu AVR's und Assembler

Gast #1015693
Lesenswert?
• ▲
▼
Hallo, ich versuche mich gerade an einem Counter0 eines ATtiny88. Damit 
der Timer aktiv wird, soll ich laut Datenblatt in das Register PRTIM0 an 
die fünfte Stelle eine "0" reinschreiben.
Wie genau funktioniert das? Mit dem Befehl "in" geht es nicht, weil der 
Operand auf den Wert "63hex" begrenzt ist?

Vielen Dank im voraus



lg Torsten
Gast #1015984
Lesenswert?
• ▲
▼
Danke, mein Zähler läuft aber immer noch nicht los. Muss ich da noch 
weitere Einstellungen vornehmen?

Hier ist mal der Quelltext in Assembler :

[avrams]
; Initialisierung des AVR

ldi    R16, $02      ; StackPointer auf Addresse $02ff setzen
out    $3e, R16
ldi    R16, $ff
out    $3d, R16

; Initialisierung des Counters

ldi     R16, $05            ; Countermode :  Normal
out     $25, R16            ; Prescaler   :  SystemClock div 1024
ldi     R16, $0
sts     $64, R16

loop:

jmp     loop
[/avrasm]

Kann jemand noch Literatur über die AVRASM-Programmierung empfehlen?


Vielen Dank im voraus



lg Torsten
Gast #1016739
Lesenswert?
• ▲
▼
Danke für die Tipps, habe meinen Fehler gefunden. Ich trau' mich gar 
nicht zu sagen wo er lag ...

Wenn man den Prescaler auf 1024 stellt muss man halt ein paar Takte 
durchlaufen lassen bis sich am Zähler was tut *Auf'nHinterKopfHaue*

Nochmals Danke für die Tipps und die den Hinweis auf das Tutorial.


lg Torsten

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren