Hallo,
ich bin ein Neueinsteiger und möchte erste Versuche mit einem Timer Interrupt machen.
Ich benutze ein STK 500 mit einem ATmega168.
Code:
#include <avr/io.h>
#include "lcd-routines.h"
#include <stdlib.h>
#include <avr/interrupt.h>
volatile int i;
int main(void)
{
DDRB = 0x00; //PortB als Eingang
PORTB = 0xFF; //Port B auf 0xFF setzen
lcd_init(); //LCD Initialsieren
TCCR0B = (1<<CS02); //TIMER definieren
TIMSK0 |= (1<<TOIE0);
sei(); //Interrupt aktivieren
while(1)
{
{
char Buffer[20];
itoa( i, Buffer, 10 );
lcd_string( Buffer ); //Ausgabe LCD
lcd_setcursor( 0, 2 );
lcd_string("uSiemens"); //Ausgabe LCD
}
}
}
ISR (TIMER0_OVF_vect) //Interrupt
{lcd_clear();} //Display löschen
Leider funktioniert die Interrupt Routine anscheinend nicht, da kein Ergebnis am Display zu sehen ist.
Lesezeichen