Problem bei Timer und interruptsteuerung

OP #3348243
Lesenswert?

Hallo zusammen!

ich habe hier ein problem
1
#include <avr/io.h>
2
#define F_CPU 4000000UL
3
#include <avr/interrupt.h>
4
#include <util/delay.h>
5
#include "lcd.h"
6

7
unsigned char x;
8
int main(void)
9
{  
10
    MCUCR  |=   (1<<ISC01);            // wenn fallende Flanke  am int0  
11
  GIMSK  |=   (1<<INT0);                // INT0 Interrupt freischalten
12
  TCCR0 = 0x03;
13
  TIMSK |= (1<<TOIE0);                 // overflow interrupt frei            
14
  DDRB = 0xff;           
15
  
16
  lcd_init(LCD_DISP_ON);                // lcd init  
17
    sei();                          // gobale interrups frei
18
  
19
  
20
  
21
  
22
  while(1)
23
    {
24
    /*unsigned char zeit , v ;
25
    char umwandlung [5];
26
    
27
    zeit = 0.2 * TCNT0 ;
28
    v = 20 / zeit;
29
    
30
    lcd_gotoxy(5,0);
31
    sprintf(umwandlung ,"%d" , v);
32
    lcd_puts(umwandlung);
33
    lcd_gotoxy(9,0);
34
    lcd_puts("m/s");*/
35
    
36
    if (x == 1)
37
    {
38
      PORTB = 0xff;
39
    }
40
       
41
     
42
    
43
    } 
44
}
45

46
ISR (INT0_vect)
47
{
48
  
49
  PORTB ^= (1<<PB5);
50
}
51

52

53

54
ISR(TIMER0_OVF_vect)
55
{
56
  
57
  x = 1;
58
  
59
}

dieses Programm sollte eine geschwindikeit von einem Rad messen , aber 
das kommt erst später.
mein problem : das progamm geht nicht in die ISR(TIMER0_OVF_vect) habe 
keine ahnung warum. kann doch nicht so schwierig sein . Für die meisten 
von euch wird das eine lächerliche Frage sein , aber ich bin noch 
anfänger und habe nicht sehr viel erfahrung

Mfg Daniel

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