Gast
#2330978
Hey,
Bin neu im Form habe aber schon etwas Erfahrung mit der Programmierung
in C.
Wollte euch bitten mal meinen Code anzuschauen und mir sagen warum die
ISR nicht ausgeführt wird.
Vielen Dank für eure Hilfe
MfG.
#include <avr/io.h>
#include <stdint.h>
#include <avr/interrupt.h>
#include "ports_init_4bit.h"
volatile unsigned int millisekunde =0;
volatile unsigned int sekunde =0;
volatile unsigned int minute =0;
volatile unsigned int stunde =0;
int main(void)
{
INITIALISIERUNG_SYSTEMPORTS(); //Ports initialisieren
TCCR2=0b00001100;
OCR2=250-1;
sei(); //Global Interrupt Flag freischalten
TIMSK=(1<<OCIE2); //Timer/Counter 2 Interrupt Register
freigeschalten
while(1)
{
if (sekunde==2)
{
PORTD|=(1<<PD7);
if (sekunde==4)
{
PORTD&=~(1<<PD7);
}
}
}
}
ISR (TIMER2_COMP_vect)
{
millisekunde++;
if (millisekunde==1000)
{
millisekunde=0;
sekunde++;
}
if (sekunde==60)
{
sekunde=0;
minute++;
}
if (minute==60)
{
minute=0;
stunde++;
}
}