AVR mit mehr als 2 ext Interrupts

Gast #316345
Lesenswert?
• ▲
▼
Na super...und ich such hier 3 Tage nach der Tabelle bei ATMEL...Danke

Also diese PIN Change Interrupts sind zwar ganz nett aber wenn einer
von den Pins ein Interrupt auslöst weiß man doch gar nicht welcher
oder?! Da steht doch nicht jeder in der Vector Tabelle...dann kann man
ja auch gleich alle durch pollen oder?!
Gast #316348
Lesenswert?
• ▲
▼
Wozu brauchst du denn die 6 Interrupts? Etwa für Tasten?
Man kann in der ISR zum Pinchange-Interrupt den Portzustand in einer
Variablen zwischen speichern, ein Flag setzen, und dann in der Main
sich um die Auswertung kümmern. Anders würde ich es nicht machen.
#316349
Lesenswert?
• ▲
▼
> Also diese PIN Change Interrupts sind zwar ganz nett aber wenn
> einer
> von den Pins ein Interrupt auslöst weiß man doch gar nicht welcher
> oder?! Da steht doch nicht jeder in der Vector Tabelle...dann kann
> man
> ja auch gleich alle durch pollen oder?!

Naja, wenn man sich den Stand vom letzten mal merkt, dann reichen ein
paar logische Verknüpfungen.

Hoffentlich willst du damit aber keine mechanisch erzeugte Signale
(z.B. Taster, Endschalter) verarbeiten, das geht auf diese Art nämlich
schief.

Aber wie schon erwähnt, schreib wozu das gut sein soll, dann findet
sich auch eine Lösung.

...
Gast #316350
Lesenswert?
• ▲
▼
"Dann stellt sich mir die Frage: Wozu braucht man die Dinger
überhaupt?????"
Man hat mehrere Ereignisse/Sensoren (z.B. Lichtschranken), die man
nicht konstant pollen will/kann, weil der Controller wichtigere Sachen
zu tun hat (z.B.Anzeigentafel).
Sprich man könnte ein Rennen über mehrere Bahnen machen (z.B.Slotracer,
Bundesjugendwettspiele-Sprint), wo die Zeitmessung gleichzeitig
gestartet wird.
Wenn man bei jedem Pinchange-Interrupt nun die Zeit und den Portzustand
speichert, kann man es halt anders auswerten.
Irgendwas wird sich Atmel schon dabei gedacht haben... Such einfach mal
zwischen den ApplicationNotes.
Gast #316351
Lesenswert?
• ▲
▼
Also es geht darum Widerstandsspitzen zu messen die bei einer Dauer von
1us bis 1s liegen. Von einem Komparator kommt entweder ne 0 oder ne 1.
Bisher haben wir die 6 Eingänge immer abgefragt ob sich was geändert
hat. Mit den Interrupts wäre das sicherlich einfacher und für den MC
auch etwas entlastender da der ja auch noch andere Dinge tun soll...
der Atmega64 erfüllt ja die Anforderungen von daher is ja jetzt alles
okay...

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.