Hallo und schönen Abend erstmal euch allen und schonmal vielen herzlichen Dank fürs öffnen und evtl. lesen des Threads :) Also erstmal meine Problemstellung und vorweg es handelt sich weder um eine Hausaufgabe, noch um einen Troll oder ähnlichem. Und zwar habe ich hier eine alte Ps2 tastatur rumfahren und versuche sie über, wie oben genannt, einen einem Atmega 8 (mit Quarz auf 16 Mhz) die Eingabe auszulesen und dann für den Anfang an einem Text LCD (40*2) auszugeben. Alle Versuche scheiterten bis jetzt kläglich und ich bitte nun um Sinvolle Links und Hilfestellungen. "Gegoogelt" habe ich auch schon, aber keiner der Links hat mir WIRKLICH weiter geholfen. Ich benutze Bascom AVR in der Demo und würde es auch gerne weiter benutzen. Mit freundlichen Grüssen, Bastian
Bastian Frey schrieb: > "Gegoogelt" habe ich auch schon, aber keiner der Links hat mir WIRKLICH > weiter geholfen. Dann verwende die richtigen Suchbegriffe: ps2 avr bascom
danke, aber auf diese Idee bin ich auch schon gekommen, aber wie gesagt, ich habe noch nichts gefunden was funktioniert hat. MFG Bastian Frey
Hallo nochmal hab nen Code gefunden der wenigstens Teilweise Funktioniert :) zum ASM Teil, bin mich grade noch am zurechtfinden, also verzeiht bitte mein Leien-Dasein Nur zu dem was nicht funktioniert: Ich bekomme die Anschläge mit, jedoch wird mir immer ein griechisches "Alpha" angezeigt, bitte um Hillfestellung. MFG Bastian
1 | $regfile = "m8adef.dat" |
2 | $crystal = 16000000 |
3 | |
4 | Config Lcd = 40 * 2 |
5 | Config Lcdpin = Pin , Db4 = Portc.5 , Db5 = Portc.4 , Db6 = Portc.3 , Db7 = Portc.2 , E = Portc.1 , Rs = Portc.0 |
6 | Config Keyboard = Pind.1 , Data = Pind.0 , Keydata = Keydata |
7 | |
8 | Cursor On Blink |
9 | Dim Text As String * 40 |
10 | Dim I As Byte |
11 | Dim L As Byte |
12 | |
13 | $serialinput = Kbdinput |
14 | $serialinput2lcd |
15 | |
16 | Text = "This is a Test!" |
17 | L = Len(text) |
18 | Cursor Off |
19 | Cls |
20 | Print Text |
21 | |
22 | |
23 | Do |
24 | |
25 | Cls |
26 | Cursor Blink |
27 | Cursor On |
28 | Print "Enter Text :" |
29 | Locate 2 , 1 |
30 | Input Text |
31 | L = Len(text) |
32 | |
33 | Cls |
34 | Print Text |
35 | For I = 1 To 16 |
36 | Shiftlcd Right |
37 | Wait 1 |
38 | Next I |
39 | Wait 1 |
40 | L = L + 16 |
41 | For I = 1 To L |
42 | Shiftlcd Left |
43 | Wait 1 |
44 | Next I |
45 | Loop |
46 | |
47 | End |
48 | |
49 | Kbdinput: |
50 | |
51 | $asm |
52 | |
53 | push r16 ; save used register |
54 | |
55 | push r25 |
56 | |
57 | push r26 |
58 | |
59 | push r27 |
60 | |
61 | Kbdinput1: |
62 | |
63 | rCall _getatkbd ; call the function |
64 | |
65 | tst r24 ; check for zero |
66 | |
67 | breq Kbdinput1 ; yes so try again |
68 | |
69 | pop r27 ; we got a valid key so restore registers |
70 | |
71 | pop r26 |
72 | |
73 | pop r25 |
74 | |
75 | pop r16 |
76 | |
77 | $end Asm |
78 | |
79 | Return |
80 | |
81 | I = Getatkbd() |
82 | |
83 | Keydata: |
84 | |
85 | Data 0 , 0 , 0 , 0 , 0 , 200 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , &H5E , 0 |
86 | Data 0 , 0 , 0 , 0 , 0 , 113 , 49 , 0 , 0 , 0 , 122 , 115 , 97 , 119 , 50 , 0 |
87 | Data 0 , 99 , 120 , 100 , 101 , 52 , 51 , 0 , 0 , 32 , 118 , 102 , 116 , 114 , 53 , 0 |
88 | Data 0 , 110 , 98 , 104 , 103 , 121 , 54 , 7 , 8 , 44 , 109 , 106 , 117 , 55 , 56 , 0 |
89 | Data 0 , 44 , 107 , 105 , 111 , 48 , 57 , 0 , 0 , 46 , 45 , 108 , 48 , 112 , 43 , 0 |
90 | Data 0 , 0 , 0 , 0 , 0 , 92 , 0 , 0 , 0 , 0 , 13 , 0 , 0 , 92 , 0 , 0 |
91 | Data 0 , 60 , 0 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0 |
92 | Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0 |
93 | |
94 | Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 |
95 | Data 0 , 0 , 0 , 0 , 0 , 81 , 33 , 0 , 0 , 0 , 90 , 83 , 65 , 87 , 34 , 0 |
96 | Data 0 , 67 , 88 , 68 , 69 , 0 , 35 , 0 , 0 , 32 , 86 , 70 , 84 , 82 , 37 , 0 |
97 | Data 0 , 78 , 66 , 72 , 71 , 89 , 38 , 0 , 0 , 76 , 77 , 74 , 85 , 47 , 40 , 0 |
98 | Data 0 , 59 , 75 , 73 , 79 , 61 , 41 , 0 , 0 , 58 , 95 , 76 , 48 , 80 , 63 , 0 |
99 | Data 0 , 0 , 0 , 0 , 0 , 96 , 0 , 0 , 0 , 0 , 13 , 94 , 0 , 42 , 0 , 0 |
100 | Data 0 , 62 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0 , 0 |
101 | Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 |
:
Bearbeitet durch User
Samples/getatkbd.bas Samples/getatkbd_int.bas Samples/getkbd.bas so schwer? o.O
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.