|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 25.10.2006, 13:05 Titel: Nummernblock am COM-Port |
|
|
Hallo,
ich habe mir vor kurzem einen externen Nummerblock für den COM-Port gekauft. Sieht in etwa so aus:
Ich dachte mir, dass man dieses Teil sicher auch prima in QB auslesen kann, also hab ich mal Hyperterminal gestartet, um zu schauen, was das Ding so sendet. Wenn ich mit Hyperterminal den COM-Port öffne, leuchtet die LED auf dem Nummernblock (gutes Zeichen ). Leider habe ich aber scheinbar die richtigen Schnittstelleneinstellungen noch nicht finden können, da bei den meisten Tasten, die ich darauf drücke, in HT bloß eine 3 (ASCII-Code 51 bzw. &H33) erscheint. Dieses Resultat erreiche ich durch folgende Einstellungen:
Code: | BPS: 2400
Datenbits: 8
Parität: Keine
Stopbits: 1
Protokoll: Kein |
Könnt ihr mir ein paar COM-Parameter empfehlen, die ich mal ausprobieren könnte?
Die einzige "Dokumentation", die ich zu den Signalen gefunden habe, ist Folgende:
Code: | // Each entry takes the following form:
//
// Key Action Data
//
// Key: The key number, (a 2-digit Decimal number).
// Action: Describes the behavior of this key, (a 1-digit
// Decimal number).
// If the value is 0, then the "Data" is a series
// of Hexadecimal Keyboard Scan Codes.
// If the value is 1, then the "Data" is a pathname
// and file (and optional parameters to be executed.
//
// Whitespace is completely ignored.
// Everything with these '//' slashes are just comments.
//
// Example:
// 0A 0 e0 35 e0 b5
// | | | | | |
// | | | - | ----- Down and Up codes for '/' on the 10-keypad
// | | | |
// | | ------ Since this is an extended key, prefix it with e0
// | |
// | ------ Action code is: Keyboard Scan codes.
// |
// - The '/' key with numlock off
// Insert
00 0 e0 52
// End
01 0 e0 4f
// Dn
02 0 e0 50
// PgDn
03 0 e0 51
// Left
04 0 e0 4b
// The number 5 key with Numlock Off
05 0
// Right
06 0 e0 4d
// Home
07 0 e0 47
// Up
08 0 e0 48
// PgUp
09 0 e0 49
// Divide with Numlock Off
10 0 35
// Multiply with Numlock Off
11 0 37
// BackSpace with Numlock Off
12 0 0e
// Subtract with Numlock Off
13 0 0c
// Add with Numlock Off
14 0 4e
// Del
15 0 e0 53
// Numlock going Off
16 0
// 0
17 0 0b
// 1
18 0 02
// 2
19 0 03
// 3
20 0 04
// 4
21 0 05
// 5
22 0 06
// 6
23 0 07
// 7
24 0 08
// 8
25 0 09
// 9
26 0 0a
// Divide with Numlock On
27 0 35
// Multiply with Numlock On
28 0 37
// BackSpace with Numlock On
29 0 0e
// Subtract with Numlock On
30 0 0c
// Add with Numlock On
31 0 4e
// . (Decimal)
32 0 34
// Enter (Same output regardless of Numlock Status)
33 0 1c
// Numlock going On
34 0 |
Außerdem war noch folgende Passage im Handbuch interessant, die beschreibt, welches Datenformat da normalerweise ankommen sollte (Teilung eines Bytes in Make- and Brake Code):
Zitat: | When the Engineers at IBM developed the original PC, they designed the keyboard in such way where as it sends two scan codes every time a key is pressed: a make code when the key is first pressed and a break code when the key is released (the terms make and break are electrical engineering terms for a switch making electrical contact and
breaking electrical contact). Since an eight-bit scan code value can represent 256 different values, IBM's engineers decided to use half of the valid codes (0-127) to represent make codes and the remaining values (128-255) to represent break codes. Typically though, Engineers like to think in terms of Hexadecimal notation so you'll see us referring to the make and break code boundaries as (0-7F) and (80-FF). The file format
used for this redefinition program uses Hexadecimal notation for everything. To convert Hexadecimal to Decimal you can use the built in Calculator program that comes with all versions of Windows. Although most software ignores the break codes for most keys (generally, a program only needs to know when a key is pressed, not when it is released), there are a few keys for which make and break codes are both important. These are the modifier keys; this set includes the Shift keys, the Ctrl keys, and the Alt keys. Knowing when the key is pressed (i.e., the time between the make and break codes) is important because while the key is down some keys change their behavior (e.g., an "a" becomes an "A" when Shift is held down). |
Viele Grüße & danke schon mal!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
Kai Bareis
Anmeldungsdatum: 10.09.2004 Beiträge: 545 Wohnort: Baden Würtemberg
|
Verfasst am: 25.10.2006, 17:22 Titel: |
|
|
Probiere Eventuell mal 1200 Baud
Hier stand was davon aber mehr leider nicht. und Das datenblatt was interessant wäre gibt nicht. _________________ MfG Kai Bareis
Es ist noch kein Meister vom Himmel gefallen! Warum einfach wens auch umständlich geht! |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 25.10.2006, 19:33 Titel: |
|
|
Kai Bareis hat Folgendes geschrieben: | Probiere Eventuell mal 1200 Baud
Hier stand was davon aber mehr leider nicht. und Das datenblatt was interessant wäre gibt nicht. |
Dieses hier habe ich: http://www.genovation.com/nk633.html
Ich werd's mal mit 1200 Baud versuchen.
Da steht ja auch noch, dass man die Ausgabe irgendwie durch interne Jumper anpassen kann, aber selbst wenn ich das Gehäuse irgendwie aufbekomme, weiß ich ja immer noch nicht, wie ich die stecken muss. Eine technische Referenz hab ich zu dem Ding leider auch nicht gefunden.
//edit: Hey, das war's scheinbar schon. In Hyperterminal bekomme ich bei 1200Baud jetzt eindeutige Werte. _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|