Gast
#316340
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
|
Anzeige
|
AVR mit mehr als 2 ext Interrupts
Gast
#316340
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
Gast
#316341
ATMega16 (3), ATMega64 (8)
Gast
#316342
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.
Gast
#316343
Was willste mit den 6 Interrupts denn machen? In vielen Fällen kann man mit ein paar Tricks auch mit weniger Interrupts auskommen.
Gast
#316344
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
Gast
#316345
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
#316346
ja
Gast
#316347
Dann stellt sich mir die Frage: Wozu braucht man die Dinger überhaupt?????
Gast
#316348
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. > 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
"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
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 |
Anzeige
|