www.mikrocontroller.net

Forum: Compiler & IDEs PCINTx und INTx


Autor: Matthias Laubnitz (mcl024)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Wo ist der Unterschied zwischen PCINTx und INTx ?
Der Attiny13 hat z.B. nur einen INT0 aber an allen I/O Pins PCINT's. 
Bedeutet das, dass ich den einen externen Interrupt von allen I/O Pins 
auslösen kann (quasi Pin Change INTx) oder bedeutet das, dass ich 6 
externe Interrupts auslösen kann.
Zweites kann ich mir nicht vorstellen da es ja nur einen INT0_vect gibt.
Komisch aber ist trotzdem das bei Atmel in der Liste wo alle 
Mikrocontroller aufgeführt sind mit all ihren Eigenschaften steht, dass 
der Attiny13
6 External Interrupts hat

Vielen Dank im vorraus für die Antworten.

Gruss mcl024

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt im Prinzip zwei gravierende Unteschiede: Die Pin Change 
Interrupts reagieren zunächst mal grundsätzlich auf alle Pegelwechsel, 
während die "eigentlichen" externen Interrupts (INT0, INT1 usw.) 
konfigurierbar sind (steigende, fallende Flanke, beide Flanken oder 
Low-Pegel). Außerdem sind die Pins für die Pin Change Interrupts in 
Gruppen zusammengefasst (die i.d.R. den I/O-Ports entsprechen), wobei 
alle aktivierten Pins einer Gruppe ein und dasselbe Interrupt-Flag 
auslösen, und damit auch den µC in den selben Interrupt-Vektor springen 
lassen. Bei den externen Interrupts hingegen ist immer nur ein Pin 
einem Interrupt-Vektor zugeordnet.

ATMEL zählt offensichtlich bei den Angaben nicht die Interrupt-Vektoren, 
sondern die I/O-Pins, die einen Interrupt auslösen können, was in meinen 
Augen ein wenig irreführend ist.

Autor: Matthias Laubnitz (mcl024)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok schonmal schönen Dank für die Antwort.

Wenn ich jetzt aber mehere Taster auswerten möchte, aber dieses muss 
absolut Zeitunabhängig passieren. Also nicht mit einem Timer Interrupt 
und dann die Pins abfragen. Dann kann ich doch nur die INTx nehmen 
oder??

Autor: Dirk Broßwick (sharandac)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

du könntest die Tasten auch an die PCINTx anschliessen, du musst dich 
nur um die Auswertung selber kümmern welche Taste jetzt eigentlich 
gedrückt wurde. Dazu musst du den letzten Zustand sichern um 
festzustellen welcher Eingang sich geändert hat. Allerdings muss man 
auch sagen das die PCINTx sich nicht für Tasten eignen, weil die sehr 
stark prellen können und so die Auswertung schwer machen. Ideal sind die 
PCINTx allerdings wenn man z.B. Grayencoder anschliessen will, da sich 
immer nur eine Stelle ändert im gegensatz zum Binärcode.

CA Dirk

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.