www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Unterschied zwischen INT0 und PCINT0


Autor: Torsten B. (torty)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Froh Weihnachten zusammen..

Kann mir bitte kurz jemand den Unterschied zwischen den INT0 und den 
PCINT0 erklären ?
Was im Datenblatt steht, macht mich nicht schlau und im Tutorium kann 
ich PCINT nicht einmal finden.
Schöne Feiertage Euch allen.

Danke
Torsten

Autor: Malte (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dir auch frohe weihnachten,

bei INT0 kannst du auf die Positive bzw. negative Flanke einen Interrupt 
auslösen.

Bei PCINT0 (von PIN Change..) bekommst du nur auf eine Änderung einen 
Interrupt. Ob es High oder Low ist müsstest dann selber prüfen.

gruß

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Int0 ist ein Interrupt, der bei glaub allen AVRs vorhanden ist und mit 
so ziemlich jeder Sleep / Powerdown /etc trotzdem funktioniert

Bei neueren AVRs gibts zusätzlich den PCINT (Pinchangeinterrupt), der 
alte INT0 ist wahrscheinlich aus Kompatibilitätsgründen auch noch mit 
drin.

Unterschiede gibts praktisch nicht zwischen den beiden.

Autor: Barny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Flo schrieb:
> Int0 ist ein Interrupt, der bei glaub allen AVRs vorhanden ist und mit
> so ziemlich jeder Sleep / Powerdown /etc trotzdem funktioniert
>
> Bei neueren AVRs gibts zusätzlich den PCINT (Pinchangeinterrupt), der
> alte INT0 ist wahrscheinlich aus Kompatibilitätsgründen auch noch mit
> drin.
>
> Unterschiede gibts praktisch nicht zwischen den beiden.

Dass st leider falsch.
Neben den Sleepmodes die nur mit INT0 aufgeweckt werden.
Weiters haben INT0, INT1,... eine eigene Interruptroutine.

Bei PCINT muß man nicht nur low/high überprüfen, sondern man muß auch 
noch überprüfen welcher der PCINT Pins der Schnittstelle den Interrupt 
ausgelöst hat.
Also hat man bei den INT Interrupts wesentliche Vorteile gegenüber 
PCINT.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Int0, und je nach Controller INT1...INT7, besitzen jeweils eine eigene 
Interruptroutine. Für die PC-Pins gibt es so eine Art 'Sammelinterrupt', 
meist für die Pins eines Ports. Welche(r) PC-Pin einen Interrupt 
auslösen darf wird mit einem Mask-Register festgelegt. Der Aufwand für 
die Auswertung von PinChange-Ereignissen ist in der Regel höher wie bei 
INT0 (...INT7).

MfG Spess

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dazu kommt noch, dass je nach Controllertyp der eine oder andere 
INTx-Pin nicht nur flankengesteuert sondern auch pegelgesteuert arbeiten 
kann. Bei PCINT geht das schon definitionsgemäss nicht.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es sind 2 völlig unterschiedliche Einheiten auf dem AVR.

Die externen Interrupts nimmt man hauptsächlich dazu, schnell auf 
externe Peripherie zu reagieren, z.B. CAN- oder Ethernet-Controller.
Für schnarch langsame Sachen (mechanische Kontakte) ist er schlecht 
geeignet, da er die Behandlung nur unnötig aufwendig macht.


Die Pin-Change-Interrutps sind dagegen gedacht, um Strom zu sparen, d.h. 
aus dem Power-Down-Mode aufzuwecken. Deshalb auch die Möglichkeit auf 
die Flanke aufzuwachen.
Und daher ist es in der Regel nicht nötig, zu wissen, welcher der 
freigegebenen Pins den Interrupt ausgelöst hat. Das macht dann besser 
das Hauptprogramm, z.B. die Entprellroutine im Timerinterrupt.

Üblicher Weise ist die einzige Aufgabe des Pin-Change-Interrupts, sich 
selbst zu disablen und den Sleepmode zurückzusetzen.


Peter

Autor: screwdriver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Prinzipiell eignen sich doch Bedientasten, besonders wenn sie Form einer 
Matrix angeordnet sind, ideal zum Anschluss an die PC-Interrupts.
Das widerspricht zwar meiner (und von diesem Forum geprägten!) Vorliebe 
zu timer-entprellten Kontakten, aber die Analogie in der Auswertung von 
Interruptquelle der PC-Ints und einer gedrückten Taste in einer Matrix 
ist doch schon bemerkenswert ähnlich - wie ich finde.

screwdriver

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.