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