Hallo, irgendwie spielt die Tastatur verrückt. Die Anschlüsse stimmen alle. Es sind exakt 4,9 Volt Betriebsspannung. Nehme clock und data ab zum Atmega644p Ob ich ein "C" programm nehme oder ein Programm von Bascom, es fangen beim starten des Atmegas die drei Dioden oben rechts auf der Tastatur an zu blinken und hören nicht wieder auf. Daten werden nicht erkannt. Erst wenn ich die Ps2-Tastatur wieder an den Pc anschliesse und der Pc hochgefahren ist, gehen die drei dioden aus und die Tastatur funktionierrt am Pc. Das gleiche spiel wiederholt sich immer, die Tastatur ist also funktionsfähig. Was ist das? gruss
Wie ist deine Schaltung? Wie ist dein Programm? Sonst wird das hier eher nichts mit der Hilfe. Gruß Skriptkiddy
Joachim B. schrieb: > Sieht mir eher nach Troll aus... Duchaus möglich. Aber habe es aber auch schon oft gesehen, dass Menschen sich hier einfach nur nicht richtig Nettiquetten-konform ausdrücken.
fifo schrieb: > Erst wenn ich die Ps2-Tastatur wieder an den Pc anschliesse und der Pc > hochgefahren ist, gehen die drei dioden aus .. Deine Tastatur empfängt Energiesignale von Außerirdischen. Kein Grund zur Beunruhigung!
das ist der Bascom-code: $regfile = "m644pdef.dat" $crystal = 16000000 $baud = 19200 $hwstack = 32 $swstack = 10 $framesize = 40 'connect PC AT keyboard clock to PIND.2 'connect PC AT keyboard data to PIND.4 'The GetATKBD() function does not use an interrupt. Config Keyboard = Pind.2 , Data = Pind.43 , Keydata = Keydata Dim S As String * 12 Dim B As Byte $serialinput = Kbdinput Print "hello" Do ' B = Getatkbd() 'get a byte and store it into byte variable 'When no real key is pressed the result is 0 'So test if the result was > 0 ' If B > 0 Then ' Print B ; Chr(b) ' End If 'The purpose of this sample was how to use a PC AT keyboard 'The input that normally comes from the serial port is redirected to the 'external keyboard so you use it to type Input "Name " , S 'and show the result Print S 'now wait for the F1 key , we defined the number 200 for F1 in the table Do B = Getatkbd() Loop Until B <> 0 Print B Loop End Kbdinput: $asm push r16 ; save used register push r25 push r26 push r27 Kbdinput1: rCall _getatkbd ; call the function tst r24 ; check for zero breq Kbdinput1 ; yes so try again pop r27 ; we got a valid key so restore registers pop r26 pop r25 pop r16 $end Asm Return B = Getatkbd() 'This is the key translation table Keydata: 'normal keys lower case Data 0 , 0 , 0 , 0 , 0 , 200 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , &H5E , 0 Data 0 , 0 , 0 , 0 , 0 , 113 , 49 , 0 , 0 , 0 , 122 , 115 , 97 , 119 , 50 , 0 Data 0 , 99 , 120 , 100 , 101 , 52 , 51 , 0 , 0 , 32 , 118 , 102 , 116 , 114 , 53 , 0 Data 0 , 110 , 98 , 104 , 103 , 121 , 54 , 7 , 8 , 44 , 109 , 106 , 117 , 55 , 56 , 0 Data 0 , 44 , 107 , 105 , 111 , 48 , 57 , 0 , 0 , 46 , 45 , 108 , 48 , 112 , 43 , 0 Data 0 , 0 , 0 , 0 , 0 , 92 , 0 , 0 , 0 , 0 , 13 , 0 , 0 , 92 , 0 , 0 Data 0 , 60 , 0 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0 Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0 'shifted keys UPPER case Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 Data 0 , 0 , 0 , 0 , 0 , 81 , 33 , 0 , 0 , 0 , 90 , 83 , 65 , 87 , 34 , 0 Data 0 , 67 , 88 , 68 , 69 , 0 , 35 , 0 , 0 , 32 , 86 , 70 , 84 , 82 , 37 , 0 Data 0 , 78 , 66 , 72 , 71 , 89 , 38 , 0 , 0 , 76 , 77 , 74 , 85 , 47 , 40 , 0 Data 0 , 59 , 75 , 73 , 79 , 61 , 41 , 0 , 0 , 58 , 95 , 76 , 48 , 80 , 63 , 0 Data 0 , 0 , 0 , 0 , 0 , 96 , 0 , 0 , 0 , 0 , 13 , 94 , 0 , 42 , 0 , 0 Data 0 , 62 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0 , 0 Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0 gruss
Schaltung : - +5 Volt (bei mir 4,9 Volt) - Masse - Clock an Int0 644p> PD2 - Data an einem 644p> PD4 oben ist ein Fehler : Data = Pind.43 > Pind.4 gruss
hmm..., oh... Ich habe 2 4k7-Pullups für das i2ceeprom24c256. Welche Leitungen von der Tastatur müssen denn da dran, kann ich die da mit anschliessen? gruss
jup, danke. jetzt läuft es. ich habe garnicht an die pullups gedacht. gruss
Guten Tag, ich habe ein ähnliches Problem mit einer PS/2 Tastatur aber ich verwende die in App note AVR313 enthaltene Software (avr-gcc port), umgeschrieben auf einen ATmega8. Die Tastatur wird auch initialisiert (die 3 LEDs leuchten kurz auf) aber es werden keine Zeichen über den UART ausgegeben. Selbst mit 4k7 pull-ups klappt es nicht. Da ich nun bereits die Schaltung mehrfach überprüft habe, stellt sich mir die Frage, ob dies nur mit manchen Tastaturen klappt aber nicht mit allen. 2 Habe ich bereits erfolglos getestet. Gibt vielleicht es eine Möglichkeit die Tastatur zur Kooperation zu überreden? Für kompetente Hilfe wäre ich bereits im Vorfeld zu Dank verpflichtet.
atmega8 schrieb: > Gibt vielleicht es eine Möglichkeit die > Tastatur zur Kooperation zu überreden? Kommt drauf an. Hast Du eine zugängliche Tastatur oder hat sie sich in der Vergangenheit eher störrisch gezeigt? Bist Du psychologisch vorgebildet?
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.