PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tastatur am ATMEGA8



jonashansert
28.01.2006, 18:04
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:


'----------------------------------------------------------
' 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

Andree-HB
28.01.2006, 18:36
Liegt denn bei Dir die Library "mcsbyteint.lbx" auch im Verzeichnis \LIB ?

Fusebitversteller
28.01.2006, 19:54
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.

jonashansert
29.01.2006, 01:06
Danke :)

hat mir wieder ein ganzes Stück weiter geholfen :) :)

Gruß
jonas