Forum: Mikrocontroller und Digitale Elektronik AVR mit mehr als 2 ext Interrupts


von Maik (Gast)


Lesenswert?

Hi!

Gibt es eigentlich einen AVR mit mehr als 2 externen Interrupts.
Bräuchte für ein Projekt einen mit 6 Interrupt Eingängen.

Danke

von johnny.m (Gast)


Lesenswert?

ATMega16 (3), ATMega64 (8)

von Thomas (Gast)


Lesenswert?

http://www.atmel.com/dyn/products/param_table.asp?family_id=607&OrderBy=part_no&Direction=ASC


z.B. Mega 48 und 88 haben Pin-Change Interrupt für alle I/O.

von johnny.m (Gast)


Lesenswert?

Was willste mit den 6 Interrupts denn machen? In vielen Fällen kann man
mit ein paar Tricks auch mit weniger Interrupts auskommen.

von Gerd (Gast)


Lesenswert?

Hallo Maik,

ich habs für Dich rausgesucht.

hier kannst selber schauen:
http://www.atmel.com/dyn/products/param_table.asp?family_id=607&OrderBy=part_no&Direction=ASC

Nächste Auskunft wäre dann kostenpflichtig sfg

Gruss

Gerd

von Maik (Gast)


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?!

von Rahul (Gast)


Lesenswert?

ja

von Maik (Gast)


Lesenswert?

Dann stellt sich mir die Frage: Wozu braucht man die Dinger
überhaupt?????

von Rahul (Gast)


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.

von Hannes L. (hannes)


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.

...

von Rahul (Gast)


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.

von Maik (Gast)


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...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.