Hallo,
ich habe schon länger nicht mehr programmiert und brauche nun wieder
Übung :/ Bisher klappte es ganz gut - bis zum ersten Ausprobieren mit
Interrupts. Wenn ich die Zeile mit dem ISR hinzufüge, egal ob vor oder
nach der main-Schleife - es klappt einfach nicht.
Ich verwende den ATmega644P und AVR Studio 5.
Wäre euch dankbar!
1 | #include <avr/io.h>
|
2 | #include <avr/interrupt.h>
|
3 | #include <util/delay.h>
|
4 |
|
5 | volatile unsigned int i = 0;
|
6 |
|
7 |
|
8 | ISR(PCINT1)
|
9 | {
|
10 | i++;
|
11 | }
|
12 |
|
13 | int main(void)
|
14 | {
|
15 | // ISR für Taster 1..4 an den Pins 1..4 bzw PCINT 8..11 bzw PB0..PB3
|
16 | PCICR = (1<<PCIE1);
|
17 | PCMSK1 = (1<<PCINT8)|(1<<PCINT9)|(1<<PCINT10)|(1<<PCINT11);
|
18 |
|
19 | DDRB |= (1<<PB0)|(1<<PB1)|(1<<PB2)|(1<<PB3);
|
20 |
|
21 | while(1)
|
22 | {
|
23 | PORTB ^= (1<<PB0);
|
24 | _delay_ms(50);
|
25 | }
|
26 | }
|
27 |
|
28 |
|
29 | Fehler 4 expected identifier or '(' before numeric constant C:\Users\Benny Bunny\Desktop\Digitalpoti Quellcode\DIGI_POT\DIGI_POT\DIGI_POT.c 23 1 DIGI_POT
|