Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Nummernblock am COM-Port

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 25.10.2006, 13:05    Titel: Nummernblock am COM-Port Antworten mit Zitat

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 happy). 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? lächeln

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
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Kai Bareis



Anmeldungsdatum: 10.09.2004
Beiträge: 545
Wohnort: Baden Würtemberg

BeitragVerfasst am: 25.10.2006, 17:22    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 25.10.2006, 19:33    Titel: Antworten mit Zitat

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. traurig

//edit: Hey, das war's scheinbar schon. In Hyperterminal bekomme ich bei 1200Baud jetzt eindeutige Werte. lächeln
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
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.

 Impressum :: Datenschutz