Gast
#748617
bin gerade die timer und die interuppt funktion am testen und will das
nach 3 sekunden die led angeht aber es tut sich nix kann mir jemand
sagen was ich falsch mache???
#include <avr/io.h> //Bibliotheken(Headerfiles einbinden) io=input
output bibliiothek
#include <avr/interrupt.h>
#define F_CPU 16000000UL
volatile int a=0;
ISR ( TIMER0_OVF_vect )
{
a++; //das gleiche wie a=a+1
if (a == 300)
{PORTD |= (1<<PD5);} //led1setzen
}
int main (void)
{
DDRD = 0x00; //Datenrichtungsregister D alles 0
(Eingänge)
//DDRD = (1 << DDD5); //eine 1 für ausgang an Stelle 5
// DDRD = (1 << DDD7);
DDRD = (1 << DDD5) | (1<<DDD7) | (1<<DDD6);
//Quarztakt wird durch 1024 geteilt 16MHz/1024=15625Hz
// 15625Hz/100Hz(10ms)=156,25
TCCR0 |= (1<<CS00)|(0<<CS01)|(1<<CS02);
TCNT0 = 156; // Vorladen
TIMSK |= (1<<TOIE0);
// Interrupts freigeben
sei();
while(1) {
}
return 0;
}