Forum: Mikrocontroller und Digitale Elektronik AVR-X/Y/Z-Register in welcher Reihenfolge lesen?


von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Hallo!

Irgendwo stand mal, dass man beim Lesen von XL/XH (bzw. YL/YH oder 
ZL/ZH) eine bestimmte Reihenfolge einhalten soll, weil sonst das jeweils 
andere Register des Paars für ein oder zwei Zyklen gelockt ist. Leider 
finde ich die Infos weder im Instruction Set Manual noch im Datenblatt 
des AVRs (hier ein ATtiny13A).

Kann mir bitte jemand einen Tipp geben?

von Sauger (Gast)


Lesenswert?

Nabend,

die 16 Bit breiten X/Y/Z Register bestehen aus jeweils 2 einzelnen 
Bytes.
Eine "bestimmte Reihenfolge" gibt es also nicht.

Steht im Datenblatt irgendwo unter "General Purpose Register File"

MfG

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Sauger schrieb:
> Eine "bestimmte Reihenfolge" gibt es also nicht.

Danke, ok.
Ich hab nur gefragt weil irgendwer mal im Forum erklärt hat, dass es 
einen speziellen Mechanismus gibt, der eines der beiden 8-Bit-Register 
immer dann vor Veränderung schützt, während das andere gelesen wird. 
Damit sollen inkonsistente Werte vermieden werden.
Vielleicht betraf das aber auch einen anderen Mikrocontroller.

von Strickwettbewerbgewinner (Gast)


Lesenswert?

Das ist bei den 16bit-Registern des 16bit-Timers so, da muss man immer 
ueerst das höhere Register schreiben und das untere zuerst lesen.

von Fusecalc (Gast)


Lesenswert?

Markus W. schrieb:
> Ich hab nur gefragt weil irgendwer mal im Forum erklärt hat, dass es
> einen speziellen Mechanismus gibt, der eines der beiden 8-Bit-Register
> immer dann vor Veränderung schützt, während das andere gelesen wird.
> Damit sollen inkonsistente Werte vermieden werden.

Das ist beim auslesen des ADC so.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.