PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PS/2 Tastatur in Bascom emulieren mit at_library. Wie ist der richtige Anschluss?



da_miez3
09.02.2013, 15:05
Hallo Leute,
steh hier grad wieder vor einem Problem was sich nicht lösen lassen will. Habe die at_lib gekauft und mich an im Netz vorhandenen Code gehalten, der funktionieren würde,dachte ich :). Finden sich auch viele Beispiele mit ähnlichem Code. -->

Das ist ein verkürzter code von elektronix00 :




$regfile = "m32def.dat"
$crystal = 16000000
$hwstack = 32
$swstack = 10
$framesize = 40

$lib "at_emulator.lib"

Config Portc = Input
Portc = 255

Enable Interrupts
Config Atemu = Int1 , Data = Pind.3 , Clock = Pind.7

'; ^------------------------ used interrupt

'; ^----------- pin connected to DATA

'; ^-- pin connected to clock

';Note that the DATA must be connected to the used interrupt pin

Do

Waitms 150

If Pinc.0 = 0 Then

Sendscankbd Taste_a
Else

If Pinc.1 = 0 Then

Sendscankbd Taste_b
Else


End If
End If
Loop


Taste_a:
Data 3 , &H1C , &HF0 , &H1C

Taste_b:
Data 3 , &H32 , &HF0 , &H32


Und hier hab ich zwei Anschlusspläne gefunden, die aber unterschiedliche Daten/Clock am Interrupt haben...


Hier ist die Datenleitung am Interupt und die Clock Leitung am normalen Pin:
http://www.mikes-elektronikseite.de/bilder/tastaturemulator.jpg

Und hier ist die Clockleitung am Interupt und die Datenleitung am normalen Pin. Also genau anders herum:
http://www.rn-wissen.de/images/5/5a/PS2-Anschluss.png


Als ich das Board mit der zweiten Möglichkeit angeschlossen hatte, hat bei Mausbewegung(!!!) in schnellen Abständen der Buzzer geknackt(Frage mich warum..). Aber im Editor war nichts zu sehen. Bei der ersten Möglichkeit ging nach anstecken weder Maus noch Keyboard, erst nach Neustart wieder.

Hier noch ein Bild vom Anschluss:
24473


Kann mir jemand helfen. Oder hat jemand das schon erfolgreich gemacht?

Danke schonmal :)

da_miez

- - - Aktualisiert - - -

Also ich meine im Quellcode steht extra, dass DATA mit dem angegebenen Interupt Pin verbunden werden soll wie auch in der ersten Grafik. Im roboternetz Bild ist der CLOCK am Interupt, was meiner Meinung auch irgendwie Sinn machen kann. Aber es geht halt beides nicht... :(

- - - Aktualisiert - - -

Hab jetzt auch mal den L293 Motortreiber raus, nicht dass der reinstört, aber nix..

- - - Aktualisiert - - -


. Auf dem Bild sieht man, dass Schwarz an + und Rot an - liegt. Ist komisch, aber die Belegung passt!! Hab zum testen ein Programm geschrieben bei dem nur ne LED blinkt am PS/2 angeschlossen und mehrfach gemessen. Daran liegts also nicht..
Grün ist Data und Braun ist Clock.

Ich weiß nicht, das Config Atemu = Int1 , das Atemu, muss das so heißen? Ist das in der Lib angegeben? Im Programm taucht es ja nicht mehr auf.. Hat jemand einen Code der sicher geht?

da_miez3
10.02.2013, 20:09
Keiner :( ?? ;)