-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 18

Thema: SENDSCANKBD einfach ???

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    13.08.2004
    Beiträge
    101

    SENDSCANKBD einfach ???

    Anzeige

    kann mir mal einer helfen, SENDSCANKBD einfach anzuwenden.
    Irgendwie verstehe ich die Bascom Hilfe nicht

    Ich möchte einfach nur ein paar Tasten von einem µC an den PC senden.

    Das soll so ablaufen:
    *Pseudocode an*
    WENN Taster1 gedrückt DANN sende Taste A an den PC über PS2
    *Pseudocode aus*

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    28.10.2004
    Ort
    Baoding
    Alter
    37
    Beiträge
    687
    Unter der Hilfe findet man diesen schönen Satz.

    The PS2 Keyboard and mouse emulator needs an additional commercial addon library.

    Also ist das nicht so einfach ohne finanziellen Aufwand.

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Hi,
    Im Beispiel-Programm enthalten:

    Zitat Zitat von ps2_kbdemul.bas
    'suited for demo : no, ADD ON NEEDED
    näheres hier:
    http://www.mcselec.com/index.php?pag...pshop&Itemid=1

    Hast Du diese Lib, um die angegebenen Befehle verwenden zu können ?

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    13.08.2004
    Beiträge
    101
    Habe ich irgendwo geschrieben, das es nichts kosten darf...

    Das ist mir schon bekannt, und auch nicht das Problem.
    Habe mir Bascom ja auch gekauft...

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    28.10.2004
    Ort
    Baoding
    Alter
    37
    Beiträge
    687
    Die Vollversion von Bascom nützt Dir nichts da brauchst Du noch die Extra-Lib die 15€ kostet (Sonderausstattung?!)

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    13.08.2004
    Beiträge
    101
    Hallo,

    mir geht es nicht um Vollversionen oder irgendwelche Extrakosten

    Ich habe die Vollversion und die Lib werde ich mir nachkaufen, wenn ich weis, wie es geht mit dem Code.

    Man gibt soviel Geld für Hobby und "Mist" aus, da tun mir die 15 Euro nicht weh...

    Nun verstanden

    Gruß
    Papsi

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594
    Ich nehme mal an, dass man verschiedene Variablen verändert und die dann als PS/2 Befehle gesendet werden. Also Make- und Break-Codes und noch irgendwas...

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    07.02.2006
    Ort
    Saarbruecken
    Alter
    55
    Beiträge
    22
    Hi,

    dieser Artikel ist zwar schon etwas älter aber vielleicht wurde in der Zwischenzeit eine Lösung gefunden. Ich selber habe mir diese Zusatz-Library ebenfalls gekauft, weiss aber nicht wie ich sie anwenden soll.
    Ich möchte einfach nur 5 Tasten vom Atmega an den PC schicken: Pfeil rechts, Pfeil links, Pfeil hoch, Pfeil runter und Enter.

    Vielleicht gibts ja schon ein paar Codeschnipsel.

    Gruß Michael
    zugeschnitte Drähte sind immer zu kurz.
    Oszillatoren schwingen nie, Verstärker immer.

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    02.10.2005
    Ort
    Zwischen Hannover und Celle
    Beiträge
    22
    @elektronix00:

    Wenn Du Dir die Bascom-Hilfe anschaust, findest Du einen gut dokumentierten Beispielcode:

    Code:
    '-----------------------------------------------------------------------------------------
    
    'name                     : ps2_kbdemul.bas
    
    'copyright                : (c) 1995-2005, MCS Electronics
    
    'purpose                  : PS2 AT Keyboard emulator
    
    'micro                    : 90S2313
    
    'suited for demo          : no, ADD ONE NEEDED
    
    'commercial addon needed  : yes
    
    '-----------------------------------------------------------------------------------------
    
     
    
    $regfile = "2313def.dat"                                   ' specify the used micro
    
    $crystal = 4000000                                         ' used crystal frequency
    
    $baud = 19200                                               ' use baud rate
    
    $hwstack = 32                                               ' default use 32 for the hardware stack
    
    $swstack = 10                                               ' default use 10 for the SW stack
    
    $framesize = 40                                             ' default use 40 for the frame space
    
     
    
    $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
    Interessant für Dich wäre die Data-Sektion.
    Die "12" gibt die Anzahl der Bytes an.
    Die Anweisungen eine Taste zu drücken (make) und wieder loszulassen (break) werden in Hexadezimal angegeben. Deshalb steht vor jeder Anweisung ein "&H".
    Um ein "m" auszugeben, muss es erst einmal "gedrückt" werden. Das macht man mit "3A".
    Losgelassen wird das "m" dann mit "F0,3A".

    Um die Hex-Angaben für die entsprechenden Tasten zu bekommen, kannst Du mal einen Blick auf einen Keyboard-Scancode werfen: http://www.marjorie.de/ps2/scancode-set2.htm

    Wenn Du z.B. nur den Pfeil nach Links drücken möchtest, würde die Data-Sektion so aussehen:

    Code:
    Data 5 , &HE0 , &6B , &E0 , &HF0 , &H6B
    Hier im Forum hat sich übrigens Rofo88 mal die Arbeit gemacht, einen Keyboard-Emulator direkt in Bascom zu schreiben (habe ich selber aber nicht getestet): http://www.roboternetz.de/phpBB2/viewtopic.php?t=38660

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    07.02.2006
    Ort
    Saarbruecken
    Alter
    55
    Beiträge
    22
    @ fusebitversteller,

    danke für die schnelle und vor allem gut dokumentierte Antwort. Langsam blicke ich durch wie sich der Code aufbauen muss. Ich war nur irritiert, dass als Library die "mcsbyteint.lbx" eingesetzt wird und nicht die optionale Library, die ich extra kaufen musste. Ich werde sobald ich Zeit finde meinen Code schreiben und hier posten.

    Gruß Michael
    zugeschnitte Drähte sind immer zu kurz.
    Oszillatoren schwingen nie, Verstärker immer.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •