Attiny2313A - Timer Interrupt wird nicht aufgerufen (C)

Gast #4767171
Lesenswert?

Guten Abend,

mit der angehängten Schaltung möchte ich einen Lüfter bei Erreichen 
einer bestimmten Temperatur einschalten. Die Ist-Temperatur wird dabei 
auf 2 7-Segment-Anzeigen angezeigt. Die Temperatur, ab wann der Lüfter 
einschalten soll, sowie die Helligkeit der 7-Segment-Anzeigen soll durch 
Trimmer einstellbar sein.

Ändert sich der Wert am entsprechenden Trimmer, soll die 
Grenztemperatur, bei der der Lüfter angeht, für 16 Sekunden nach der 
letzten Änderung am Trimmer angezeigt werden und dann wieder die 
Ist-Temperatur anzeigen.
Dafür möchte ich den Timer1 benutzen. Nur wird nie das Timer-Interrupt 
ausgeführt.

Statt Werte vom Attiny25 zu übertragen, habe ich zum Testen fest Werte 
festgelegt und einige Teile schon auskommentiert. Trotzdem zeigen die 
Anzeigen dauerhaft die Grenztemperatur von 37 an.

Kann mir jemand helfen, meinen Fehler zu finden? Vielen Dank im Voraus!
Angehängte Dateien:
Gast #4767361
Lesenswert?

Karl M. schrieb:
> Noch etwas,
>
> warum wird die LED Anzeige und deren Multiplexen nicht per
> Timer-Interrupt gelöst ?

Daran habe ich gar nicht gedacht, werd' ich mich morgen mal mit 
beschäftigen.

Aber mein Hauptproblem bleibt ja: Meine Timer-Interrupt-Routine wird 
garnicht erst aufgerufen. Ich werde mal ein neues Programm anfangen und 
erstmal nur versuchen, den Timer zum Laufen zu bekommen.

Stefan U. schrieb:
> Das sieht komisch aus. Bist du sicher, dass es syntaktisch korrekt ist?

Ja, ich verwende CodeVision AVR.
(Firma: Vescomp) #4767926
Lesenswert?

Logani schrieb:
> Kann mir jemand helfen, meinen Fehler zu finden? Vielen Dank im Voraus!

 Wie soll in Normal Mode CTC_ISR angesprungen werden ?

Anstatt:
1
    TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (1<<CS12) | (0<<CS11) | (0<<CS10);  //-> Normal Top 0xFFFF, CLK/256

 So:
1
    TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (1<<WGM12) | (1<<CS12) | (0<<CS11) | (0<<CS10);  //-> CTC, CLK/256

 WGM12 auf 1 setzen und gut ist es.

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