Interrupt PCINT7

Gast #2459533
Lesenswert?

Ich arbeite mich in die Interrupt programmierung ein!
Verwende den Atmega640 Proz. Den Grund, dass ich diesen grossen Proz 
ausgewählt habe ist, weil ich ein Projekt mit diesem Proz in meiner 
Firma habe!

Ich verwende das AVR STUDIO 4.

Problem:
PCINT0 funktioniert mit dem gleichen CODE wie unten einwandfrei, jedoch 
der PCINT 7 funktioniert nicht.

Er gibt mir diese Fehlermeldung:
../Atmega640ansteuerung.c:34: warning: 'PCINT7_vect' appears to be a 
misspelled signal handler

Weiss jemand, ob ich hier was faltsch initialisiert habe?
Oder was ist das Problem?

CODE------------------------------------------------------------

#include <avr/io.h>
#include <util/delay.h>
#include "Atmega640ansteuerung.h"
#include <avr/interrupt.h>

int main (void)
{
  init();
  LED_EIN();
}

void init(void)
{
  DDRB   &=  ~(1<<PB7);
  DDRH   |=   (1<<LED_PIN);
  PCICR  |=   (1<<PCIE0);
  PCMSK0   |=   (1<<PCINT7);
  sei();
}

ISR(PCINT7_vect)       /* veraltet: SIGNAL(SIG_INTERRUPT0) */
{
    LED_AUS();
}


// PS:LED_AUS und LED_EIN sind im Header definiert.
Gast #2459578
Lesenswert?

den gibt es schlicht nicht!

Jeder Vektor ist für 8 Inputs zuständig.

PCINT0_vect versorgt die PCINT0..PCINT7.
PCINT1_vect versorgt die PCINT8..PCINT15.
PCINT2_vect versorgt die PCINT16..PCINT23.

-> Datenblatt lesen -> External Interrupts

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