AVR Timer1 will nicht

Gast #1596481
Lesenswert?

Hallo Leute
Der Winterblues hat mir wohl das Hirn zugekleistert.

Ich nehme gerade eine Schaltung mit einem ATmega88
in Betrieb. Der Prozessor taktet mit 16MHz.
Mein erster Versuch: "Taste schalteteinen blaue LED"
hat noch prima geklappt.
Jetzt soll, mit Hilfe von Timer 1, die gleiche
LED mit etwa 0,4768Hz blinken. Dazu habe ich das folgende
kleine "Programm" geschrieben.
1
#include <avr/io.h>
2
#include <avr/interrupt.h>
3

4

5
//Makros für die Bitverarbeitung
6
#define SETBIT(adr, bit) (adr |=  (1<<bit))
7
#define CLEARBIT(adr, bit) (adr &= ~(1<<bit))
8
#define TOOGELBIT(adr, bit) (adr ^=  (1<<bit))
9
#define CHECKBIT(adr, bit) (adr  &  (1<<bit))
10

11
//Anschlussklemmen der blauen 3mm LED auf dem Board
12
#define led_blau PORTB3 //blaue LED
13
#define port_led PORTB
14

15

16
int main(void)
17
{
18
 SETBIT(DDRB,DDB3);   //blauer LED Pin zum Ausgangen machen
19
 
20
 TCCR1B  = (1<<CS12); //Vorteiler 256
21
 TIMSK1 = (1<<TOIE1); //16-Bit Timer Überlauf nach 65536
22
 sei();                //16E6Hz / (65536*256) = 0,95Hz
23

24
 while(1)
25

26
 return 0;
27
}
28

29
ISR(TIMER1_OVF_vect)
30
{
31
 TOOGELBIT(port_led,led_blau);
32
}

Aber die LED geht jetzt gar nicht an ;-(

Wo ist das Problem??

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