Externer Interrupt

Gast #2353961
Lesenswert?
• ▲
▼
Hallo

ich arbeite mit einem Atmega164 P und benötige eine ISR die die 
ausgelöst wird, wenn sich der an einem bestimmten Eingangs-Pin 
anliegende Pegel ändert, dieser Pin aber nicht INT0 oder INT1 ist.
Kann mir da jemand bei der Initialisierung weiterhelfen.(In welchen 
Regiestern ich welche Bits setzen muss) Danke
Gast #2354079
Lesenswert?
• ▲
▼
Hatte  es gerade mal mit einem Pin Change Interrupt versucht bin mir 
aber nicht ganz sicher ob ich etwas bei der Initilaisierung vergessen 
habe.

Hier mein Code

#include <avr/io.h>
#include <avr/interrupt.h>

ISR(PCINT0_vect){
  DDRC  |= (1<<3);
  PORTC |= (1<<3);
}



int main(void)
{
  DDRC   &= ~(1<<0);
  PCMSK3 |=  (1<<PCINT0);
  PCICR  |=  (1<<PCIE0);  // Interrupt wird freigegeben

  sei();
    while(1)
   {}
}

Was habe ich vergessen oder falsch gemacht?
Vielen Dank schon mal im Voraus!
#2354568
Lesenswert?
• ▲
▼
Mark schrieb:
> Was habe ich vergessen oder falsch gemacht?

1.
PCINT0_vect ist der Interruptvektor für die Pins PCINT0 bis PCINT7 
(entspricht PA0 bis PA7). Du hast Deine Taster aber an den Pins PCINT16 
bis PCINT18 (entspricht PC0 bis PC2). Der zugehörige Interruptvektor ist 
PCINT2_vect.

2.
Das Register PCMSK3 ist für die Maskierung der Pins PCINT24 bis PCINT31 
(entspricht PD0 bis PD7) zuständig. Für die von Dir verwendeten Pins ist 
das Register PCMSK2 vorgesehen. In diesem Registster solltest Du die 
richtigen Bits setzten.

Bezüglich der Sinnhaftigkeit Deiner Lösung verweise ich auf den Post von 
Peter Dannegger.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.