Forum: Mikrocontroller und Digitale Elektronik Keypad - Interrupt Problem


von Rico H. (Firma: FHNW) (2she)


Lesenswert?

Hallo zusammen
wie schon erwähnt hab ich ein Problem mit den Interrupts.

Hintergrund: Ich habe ein D071x Modul von Display3000, welches mit einem 
ATMega2561 bestückt ist, dazu benutze ich eine Folientastatur, welche 
über eine 4*4 Matrix angesteuert und ausgelesen wird. Mein Problem ist 
nun, dass nur jeweils die Kolonnen auf Interruptleitungen hängen, die 
Zeilen auf normalen I/O-Ports.

Habt ihr hilfreiche Ideen wie ich nun auf den Wert der gedrückten Taste 
komme?

Der Interrupt löst wie gewünscht aus, das auslesen der richtigen Taste 
bekomm ich nicht hin...

von Peter D. (peda)


Lesenswert?

Rico H. schrieb:
> Mein Problem ist
> nun, dass nur jeweils die Kolonnen auf Interruptleitungen hängen, die
> Zeilen auf normalen I/O-Ports.

Das ist kein Problem, sondern überflüssig.
Die vielen 1000 Codebeispiele (Tante Google) nehmen 8 ganz normale IOs 
ohne Interrupt. Vorzugsweise sitzen die alle auf einem Port. Das erspart 
das Sichern anderweitig benutzter Pins.

von Rico H. (Firma: FHNW) (2she)


Lesenswert?

Peter Dannegger schrieb:
> Das ist kein Problem, sondern überflüssig.
> Die vielen 1000 Codebeispiele (Tante Google) nehmen 8 ganz normale IOs
> ohne Interrupt. Vorzugsweise sitzen die alle auf einem Port. Das erspart
> das Sichern anderweitig benutzter Pins.

Ich benötige jedoch Interrupts um während Messungen mit 12 Sensoren, bei 
welcher die Messdauer/Auswertedauer ca. 4 Sekunden in Anspruch nimmt, 
trotzdem auf Tastendrücke zu reagieren.

von Dietrich L. (dietrichl)


Lesenswert?

Rico H. schrieb:
> Ich benötige jedoch Interrupts um während Messungen mit 12 Sensoren, bei
> welcher die Messdauer/Auswertedauer ca. 4 Sekunden in Anspruch nimmt,
> trotzdem auf Tastendrücke zu reagieren.

Dann nimmst Du einen Timer-Interrupt und fragst die Matrix in der ISR 
ab.

Gruß Dietrich

von Karl H. (kbuchegg)


Lesenswert?

Dietrich L. schrieb:
> Rico H. schrieb:
>> Ich benötige jedoch Interrupts um während Messungen mit 12 Sensoren, bei
>> welcher die Messdauer/Auswertedauer ca. 4 Sekunden in Anspruch nimmt,
>> trotzdem auf Tastendrücke zu reagieren.
>
> Dann nimmst Du einen Timer-Interrupt und fragst die Matrix in der ISR
> ab.

Und wenn du schon dabei bist, dann stellst du die 4 Sekunden auch auf 
Timer Interrupts um.


Eigentlich ist so ziemlich alles, was in einem µC in irgendeiner Form 
mit Zeiten zu tun hat, ein recht eindeutiger Fingerzeug auf eine große 
Leuchtreklame, auf der in Grossbuchstaben "TIMER" steht.

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.