PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Keyboard LEDs


[MM]
02.04.2004, 19:11
Hallo.

Ich möchte gerne mit Port Befehlen die LEDs am Keyboard umschalten.
Bei meinem Rechner mit PS/2 Tastatur funktioniert das auch prima (erst testen, ob der Controller frei ist mit Port 64, dann Kommando 0ED per Port 60 senden, wieder warten bis Controller fertig, dann per Port 60 die LED Bits senden und noch das 'ACK' abholen).
Aber auf meinem Rechner mit alter DIN Tastatur funktioniert es nicht.

Hat jemand ne Ahnung woran das liegt, oder was ich eventuell falsch mache?

MM


[MM]
03.04.2004, 13:07
Ich habe jetzt mal eine kleine zusätzliche Pause vor dem Senden der neuen LED-Zustände eingefügt. Und jetzt geht es. Aber warum? Bevor ich das LED Byte sende prüfe ich doch, ob der Controller bereit ist:


; Warten:
stdin_switch_leds_wait1:
in al,64
and al,2
cmp al,0
jnz stdin_switch_leds_wait1

; Mit dieser kleinen Verzögerung geht es:
mov cx,0FFFF
delay:
loop delay

; LED-Byte senden:
mov al,7
out 60,al


Hat Jemand eine Ahnung, warum ich diese Verzögerung einbauen muss? Oder wie man das eventuell eleganter machen könnte?

MM

[MM]
08.04.2004, 18:14
Ich habe das Problem jetzt gelöst:
Nach jedem Kommando an 60h muss ich auf das "ACK" Signal am selben Port warten.