Forum: Mikrocontroller und Digitale Elektronik Pin Change Interrupt - Fehler: "expected identifier or '(' before numeric constant"


von Jürgen H. (misteret)


Lesenswert?

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
von holger (Gast)


Lesenswert?

>ISR(PCINT1)

PCINT1_vect
von Jürgen H. (misteret)


Lesenswert?

Das sieht nun viel besser aus:
1
Das Erstellen war erfolgreich.
2
========== Build: 1 erfolgreich oder aktuell, Fehler bei 0, 0 übersprungen ==========
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.