Gast
#1554574
Hallo, ich bin ein Frischling auf der µC-Ebene und habe mir zum Anfang ein Programm geschrieben, bei dem nacheinander alle LEDs auf dem STK-500 blinken sollen. Ich verwende einen ATMega1281v. Die Anwendung funktioniert, jedoch zu schnell. ich möchte, dass eine LED eine Sekunde lang leuchtet, dann erlischt und in diesem Moment die nächste leuchtet, dann erlischt, usw... Mit 8Bit-Registern war das kein Problem, bei 16-Bit Zählern habe ich nun das Problem, dass die von mir eingeführte Grenze von 8192 (aufgeteilt auf OCR3AH=0x20 und OCR3AL=0x00) nicht so recht akzeptiert wird. Im AVR Studio 4.17 sehe ich, dass der Wert für das niedere Byte auch brav übernommen wird (nachvollziehbar im Debugger). Das Register für das obere Byte jedoch bleibt leer, egal was ich für einen Wert für OCR3AH definieren. Es kam auch schon vor, dass da mal ne 1 drin stand, z.B wenn ich OCR3AH=0xFF oder OCR3AH=0x01 getestet, bei 0x02, war es hingegen wieder leer !?!?! Komisch... Der Prozessor läuft mit 8 MHz, ich verwende einen Vorteiler von 1024, sodass ich die Grenze für den CTC Wertvergleich auf 8192 lege, damit das dann am Ende ungefähr einer Sekunde entspricht... Warum wird der von mir gewünschte Wert nicht in das OCR3AH Register übernommen? Ich freue mich auf Eure Antworten. vG Stephan