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!!
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.)
Besten Dank für die Antwort! Das bringt mich weiter!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.