Wir suchen ein Bauteil, das folgende Aufgabe hätte: 8 oder 16 Eingänge, die einfach durchgeschliffen werden. Wenn sich einer der Eingänge ändert, soll ein Interruptausgang ansprechen. Die Idee ist, mehrere Eingänge, aber nur einen Interrupt zu verwenden. Schöne Grüße
Hallo Peter, einfach alle Eingänge auf ein 8fach- (oder 16-fach ) OR geben und dessen Ausgang auf einen interruptfähigen Pin. Ist auch kaskadierbar für noch mehr Eingänge. MfG, Khani
JA aber: Da würde ich nur erkennen wenn der 1. Eingang eingeschaltet wird. Wenn ein zweiter dazukommt ist der int ja schon eins - also so ganz würde das nicht funktionieren Gruß Peter
Die neueren AVR's können separat pro Port ein Pin-Change Interrupt triggern. Also, PORTA = Input + Pin-Change ISR, in dessen ISR PORTA lesen und an PORTB ausgeben. Gruß Hagen
@Hagen: meinst Du mega48/88(168 ? Die sind aber noch nicht lieferbar, oder? Stefan
Alle Int-Sourcen via OR mit dem Interruptpin verbinden und zusätzlich jede Source auf einen Port-Pin legen. Wenn dann ein Interrupt auftritt guckt man einfach nach, welche(r) Pin(s) betroffen sind/ist. Damit sollte es mit so gut wie jedem Prozessor gehen.
> meinst Du mega48/88(168 ? Die sind aber noch nicht lieferbar, oder?
Korrekt. Aber ATTiny15, ATTiny26, ATTiny28 teilweise, unterstützen den
schon. Der ATTiny26 hat Port A + B und wäre eventuell ideal.
Die neueren m48/88 wären idealer.
@OldBug: wenn ich die Frage richtig verstanden habe dann hilft deinen
Lösung eben nicht weiter. Wenn 1 Pin auf HIGH ist, und nun ein anderer
Pin seinen Level ändert dann wird in deiner Logik eben kein Interupt
mehr ausgelösst. Die Frage war wie man bei IRGENDEINE Ändrung an 8
verschiedenen Pins einen IQR auslösen kann.
Statt OR wird via XOR jeder Pin verschaltet. Der Ausgang der XOR
Gatterkette wird als Input für INT0/INT1 genommen. Das käme der Lösung
schon näher, aber auch nur näher. Denn wenn nun 2,4,6,8 Pins
gleichzeitig ihren Status ändern wird wiederum kein IRQ ausgelösst.
Gruß Hagen
Mit dem ATTiny15 könntest du zB. 5 Leitungen überwachen, + 1Pin als Ausgang für den IRQ. Statt die 5 Leitungen durchzuschleifen, wird der ATTiny15 einfach in Reihe zu den Leitungen angeschlossen. Mit dem ATTiny26 wäre so 15 Leitungen möglich. Gruß hagen
Es gibt aber doch auch Input-Schieberegister mit einem IRQ Ausgang. Du legst an die Inputs des Shiftregister deine Leitungen dran und den IRQ Ausgang an deinen AVR. Der Rest der Aufgabe/Leitungen der Shiftregister interessieren dich dann garnicht mehr. Gruß Hagen
Hi, eine Moeglichkeit waere ein I/O Expander zunutzen PCF8574. Diesen gibt es mit 8 oder 16 i/o's .... Dieses IC besitzt auch ein INT Pin , wenn z.B. eine Taste gedrueckt wurde liest du das IC per I2C Bus aus. Mfg Dirk
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.