Hallo Leute, wurde mich freuen, wenn mir Anfänger etwas geholfen würde. Ich möchte immer wenn den Top-Wert erreicht wird einen Int. auslösen und die Led toggeln. Programm ist im Anhang. Danke erstmal Mocki
1 | x &= ~a | ~b |
->
1 | x &= ~( a | b ) |
Und auch nochmal nachschauen, welche Bits in welchen Registern sind.
:
Bearbeitet durch User
Hallo Stefan, Danke, ich habs geändert -siehe Anhang ! Es läuft leider immer noch nicht.... Grüße Mocki
Hallo Leute, hab noch den Clockteiler geändert, jetzt blinkt die Led- Juhu ! Aber die Zeit stimmt nicht, es sind ca. 3s und nicht 30s ? Grüße Mocki
Mocki schrieb: > Aber die Zeit stimmt nicht, es sind ca. 3s und nicht 30s ? Du schreibst ja auch eine 0 nach OCR1AH.
1 | OCR1AH = ( 0x0E >> 8 ); // Top Wert H-Byte 30s Vergleichswert |
2 | OCR1AL = 0xA6; // low Byte |
Wenn du 0x0E in OCR1AH schreiben willst, solltes du das auch tun und nicht nach rechts rausschieben. Aber lass dieses H und L ganz weg. Und schreib einfach:
1 | OCR1A = 3750; |
Erstens ist das eine Zahl, mit der auch du etwas anfangen kannst, zweitens kann der Compiler die besser als du in die richtigen Register schreiben. Mocki schrieb: > Danke, ich habs geändert -siehe Anhang ! Es läuft leider immer noch > nicht.... War auch nicht zu erwarten. mfg.
:
Bearbeitet durch User
Hallo @All, ja Ihr habt recht, jetzt tuts ! Super - Vielen Dank ! Grüße Mocki
Thomas Eckmann schrieb: > Aber lass dieses H und L ganz weg. Und schreib einfach: > OCR1A = 3750; Besser, schreib die Formel hin, nach der Du diese magischen 3750 ausgerechnet hast. Der Compiler kann nämlich konstante Ausdrücke schon zur Compilezeit ausrechnen.
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.