Beide Datenregister des 16-Bt-Timers auf einmal ansprechbar?

OP #785758
Lesenswert?

Hallo zusammen!!

Könnte mir jemand verraten, ob man bei AVR-Controllern in C-Code die 
beiden Datenregister des 16-Bit-Timers mit einem C-Befehl auf einen 
gewünschten Wert setzten kann. Oder sind die einzellnen Register (low, 
high) nur einzeln ansprechbar?

Danke im Voraus!!
Moderator Persönliche Seite #785765
Lesenswert?

Im Maschinencode sind sie nur einzeln ansprechbar, und es gibt eine
im Datenblatt dokumentierte Sequenz, in welcher Reihenfolge diese
beiden Zugriffe ausgeführt werden müssen, damit sie atomar im
16-Bit-Sinn erfolgen (dabei wird dann ein 8-Bit-Wert in einem
Latch zwischengespeichert).

Manche C-Compiler bieten für diese Folge ein 16-Bit-Pseudoregister
an (AVR-GCC zum Beispiel).  Dieses entsteht durch Weglassen der
Suffixbuchstaben "H" bzw. "L".  (Ausnahme: ADCH/ADCL => ADC ist
ein möglicher Assemblerbefehl, daher wird der Name dort zu ADCW.)

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