Timerinterrupt ATmega64 CodeVisionAVR-Compiler

Gast #211209
Lesenswert?
• ▲
▼
Hi Leute,

ich sitze hier gerade an meinem Projekt und möchte ein paar LED's
blinken lassen. Leider Funktioniert das mit dem interrupt irgendwie
nicht. kann mir einer helfen was ich falsch gemacht habe?

hier ist der Code:

#include <mega64.h>

void timer_init(void);

void main(){
        DDRB = 0xff;    //PortB als Ausgang definiert.
        PORTB = 0x00;   //PortB Low alle LED's an.
        timer_init();
return;
}
void timer_init (void) {
    TCCR1A=0x00;
    TCCR1B = 0x05;
    TIMSK = 0x04;       //clk/1024  clk=8MHz Taktfreq.
    TCNT1 = 57724;      //Wert fuer 1 sec. bis zum überlauf
    #asm("sei");
}
interrupt [14] void timer1_overflow(void){

        static unsigned char t=0;
        if (t==0){
                PORTB = 0xff;
                t=1;}
        else {
                PORTB = 0x00;
                t=0;}
        TCNT1 = 57724;
}

Die LED's Leuchten aber der interrupt wird nicht ausgeführt so das sie
blinken.

Gruß spacehelix

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