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
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.
Was willste mit den 6 Interrupts denn machen? In vielen Fällen kann man mit ein paar Tricks auch mit weniger Interrupts auskommen.
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
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?!
Dann stellt sich mir die Frage: Wozu braucht man die Dinger überhaupt?????
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. ...
"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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.