So hier ist ein Programm, daß auch funktioniert
Code:
#include <avr/io.h>
#include <avr/interrupt.h>
#include <stdlib.h>
#include <util/delay.h>
volatile uint8_t Zeittick ;
ISR (TIMER1_COMPA_vect)
{
PORTB ^= (1 << PB2)|(1<<PB3); // loescht Bit 3 an PortB
Zeittick = Zeittick + 1;
}
int main (void) {
DDRB = (1<<PB3)|(1<<PB2);
TCCR1 = (1<<PWM1A)|(1<<COM1A1)|(1<<CS11);
OCR1A = 0x80;
OCR1C = 0xFF;
TIMSK = (1<<OCIE1A);
sei();
while(1) {
if (Zeittick >= 3)
{
PORTB ^= (1 << PB3); // setzt Bit 3 an PortB auf 1
}
}
return 0;
}
Was mir noch auffällt ist ist die Bunte Mischung aus SIGNAL und *_vect hier
Code:
SIGNAL (TIM1_OVF_vect)
Ob das was zu sagen hat , weiß ich nicht
Lesezeichen