ich verstehe zwar nicht, was debounce mit Getkbd() zu tun hat, aber warum benutzt du nicht eine eigene Function, um die Tasten abzufragen ?wollte nur wissen ob das möglich wäre die pins für interupt an portd zu nutzen wärend da die getkbd() subroutine läuft die alle 20ms den port debounced sind die interupts dann nutzlos da sich ja der portzustand ändert
Getkbd macht nichts anderes als diese Function ...
Damit kann man dann jede Tastaturkombination benutzen.Code:$regfile = "8515def.dat" 'dimension a variable that receives the value of the pressed key Dim B As Byte Declare Function Keyboard()as Byte 'loop for ever Do B = Keyboard() 'die Werte von B entsprechen denen von "Getkbd()" Loop Function Keyboard Local K As Byte K = 16 'keine Taste gedrückt Portd = &B11110111 'außer Portd.3 alles auf High Ddrd = &B00000111 'Portb.0,1,2 = Ausgang, der Rest Eingang Portd = &B11110000 'Pullup aktivieren Waitus 5 '5µs warten If Pind.4 = 0 Then K = 0 If Pind.5 = 0 Then K = 4 If Pind.6 = 0 Then K = 8 If Pind.7 = 0 Then K = 12 Ddrd = &B11110000 'Portb.4,5,6,7 = Ausgang, der Rest Eingang Portd = &B00000111 'Pullup aktivieren Waitus 5 '5µs warten If Pind.0 = 0 Then K = K + 0 If Pind.1 = 0 Then K = K + 1 If Pind.2 = 0 Then K = K + 2 Keyboard = K End Function







Zitieren

Lesezeichen