-
Tastatur am ATMEGA8
Hi
Ich experimentiere gerade ein bischen mit dem ATMEGA8 und einer PS/2 Tastatur. Ich habe jetzt zum ersten Test In der Bascom hilfe folgendes programm gefunden:
Code:
'----------------------------------------------------------
' sisy-avr.bas Vorlage für SiSy AVR-Board
' Grundstruktur eines µC-Programms
'----------------------------------------------------------
$regfile = "m8def.dat"
$crystal = 3686400
$framesize = 8 'Stackanweisungen, die eigentlich nur bei größeren Programmen
$swstack = 8 'wirklich nötig werden
$hwstack = 8
$crystal = 3686400 'Die Frequenz des verwendeten Quarzes
'Now give power to the chip
$lib "mcsbyteint.lbx" ' use optional lib since we use only bytes
'configure PS2 AT pins
Enable Interrupts ' you need to turn on interrupts yourself since an INT is used
Config Atemu = Int1 , Data = Pind.3 , Clock = Pinb.0
' ^------------------------ used interrupt
' ^----------- pin connected to DATA
' ^-- pin connected to clock
'Note that the DATA must be connected to the used interrupt pin
Waitms 500 ' optional delay
'rcall _AT_KBD_INIT
Print "Press t for test, and set focus to the editor window"
Dim Key2 As Byte , Key As Byte
Do
Key2 = Waitkey() ' get key from terminal
Select Case Key2
Case "t" :
Waitms 1500
Sendscankbd Mark ' send a scan code
Case Else
End Select
Loop
Print Hex(key)
Mark: ' send mark
Data 12 , &H3A , &HF0 , &H3A , &H1C , &HF0 , &H1C , &H2D , &HF0 , &H2D , &H42 , &HF0 , &H42
' ^ send 12 bytes
' m a r k
Mark: ' send mark
Data 12 , &H3A , &HF0 , &H3A , &H1C , &HF0 , &H1C , &H2D , &HF0 , &H2D , &H42 , &HF0 , &H42
Dabei zeigt mir BASCOM aber immer diesen Fehler an:
ERROR: 206 LINE: 22 Library file not found ......
Gruß
Jonas
-
Liegt denn bei Dir die Library "mcsbyteint.lbx" auch im Verzeichnis \LIB ?
-
Hallo jonashansert,
wenn Du eine Tastatur an Deinem Mega8 anschließen möchtest, hast Du den falschen Code erwischt. Der Code den Du benutzt ist zum Emulieren einer Tastatur. Damit kannst Du also den Mega8 direkt an den PS/2-Anschluß Deines Rechners anschließen und der tut dann so als wenn er eine Tastatur wäre. In dem Beispielcode wird die Tastenfolge "mark" zum Rechner geschickt. Um den Code zum laufen zu bekommen benötigst Du eine zusätzliche Library von MSC. Kostet 14,95 EUR
Wenn Du eine Tastatur an Deinen Controller anschließen möchtest versuch`s mal mit dem Beispielcode "getatkbd.bas". Das funktioniert dann ohne zusätzliche library.
-
Danke :)
hat mir wieder ein ganzes Stück weiter geholfen :) :)
Gruß
jonas