www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PCINT3 bei ATmega644 benutzen?


Autor: Guido Scheidat (flintstone)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo liebe Gemeinde,

ich möchte bei einem ATmega644 den PCINT3 benutzen. Also meine Signale 
kommen auf Port D an. Die Signale sollen einen Interrupt auslösen, wenn 
an einem der Eingänge eine fallende Flanke auftritt.
Wie ich hier gelernt habe, habe ich erst mal danach gesucht. Leider ohne 
brauchbares Ergebnis.
Auch die Lektüre des Datenblattes brachte mich nicht weiter. Auf Seite 
60f. wird erklärt, wie man die Flanken über ISC21, ISC20 – ISC00, ISC00 
für PCINT0 bis PCINT2 einstellen kann. Völlig offen bleibt jedoch, wie 
dies für den PCINT3 einzustellen ist. Auf welche Flanke oder welches 
Potential reagiert der PCINT3? Wie kann ich die fallende Flanke 
einstellen?

Gruß
Guido

Autor: Justus Skorps (jussa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guido Scheidat schrieb:
> Auf Seite
> 60f. wird erklärt, wie man die Flanken über ISC21, ISC20 – ISC00, ISC00
> für PCINT0 bis PCINT2 einstellen kan

Du verwechselst da wohl gerade die 'normalen' Interrupts mit den 
PinChange-Interrupts...

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guido Scheidat schrieb:
> Wie kann ich die fallende Flanke
> einstellen?

Garnicht.
Pin-Change heißt, beide Flanken.
Du mußt das in Software lösen

neu = PIND;
fallend = alt & ~neu;
alt = neu;


Peter

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guido Scheidat schrieb:
> Wie kann ich die fallende Flanke
> einstellen?

Gar nicht. Interrupt nur bei fallender (oder nur bei steigender) Flanke 
geht nur auf den "External Interrupts INT2:0".
Alle anderen reagieren immer auf jeden Flankenwechsel. Da bleibt dir 
nichts anderes übrig, als in der ISR selber auszuwerten, ob das jetzt 
eine fallende oder steigende Flanke war.

Oliver

Autor: Guido Scheidat (flintstone)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah!

Jetzt habe ich begriffen. EICRA – External Interrupt Control Register A 
bezieht sich ja auf die externen Interrupts.
Bei den Pin change Interrupts kann ich ja nie die Flanke einstellen. Ich 
kann nur die Pins maskieren.

Das hat mir sehr weiter geholfen - DANKE!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.