Forum: Compiler & IDEs Tiny24A CTC Timer Probleme


von Mocki (Gast)


Angehängte Dateien:

Lesenswert?

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

von Stefan E. (sternst)


Lesenswert?

1
x &= ~a | ~b
->
1
x &= ~( a | b )

Und auch nochmal nachschauen, welche Bits in welchen Registern sind.

: Bearbeitet durch User
von Mocki (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Stefan,

Danke, ich habs geändert -siehe Anhang ! Es läuft leider immer noch 
nicht....

Grüße Mocki

von Mocki (Gast)


Angehängte Dateien:

Lesenswert?

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

von Stefan E. (sternst)


Lesenswert?

Mocki schrieb:
> Aber die Zeit stimmt nicht, es sind ca. 3s und nicht 30s ?

Du schreibst ja auch eine 0 nach OCR1AH.

von Thomas E. (thomase)


Lesenswert?

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
von Mocki (Gast)


Lesenswert?

Hallo @All,

ja Ihr habt recht, jetzt tuts !

Super - Vielen Dank !

Grüße Mocki

von Peter D. (peda)


Lesenswert?

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
Noch kein Account? Hier anmelden.