VisualHMI USB HID Scanner: on _ key Scanner Code in ASCII

kostenlosKostenloses technisches Material

Dieser Inhalt ist direkt lesbar und eignet sich für das Grundlagenlernen und die Suche.

USB Host + benutzerdefinierte Firmware, direkt mit der HID-Barcode - Scanner-Pistole verbunden, der Scan-Inhalt wird über on _ key (key) in Lua aufgerufen. Industrielle Lagerung und Rückverfolgbarkeit werden verwendet. HMI & M & DX-Serie + USB-Schnittstelle + kundenspezifische Firmware

1. API: on _ key (Key)

Key ist eine 16 - Bit unsignierte Ganzzahl: niedrig 8 - Bit = USB HID Usage ID (Scan-Code), höhere 8 - Bit = Shift-Status (nicht 0 bedeutet Shift-Drückung, Groß - und Kleinschrift differenziert).Low 8 = = 0x28 (Enter) bedeutet das Ende des BarcodesHier wird die Zeichenfolge übergeben und der Puffer leert.

2. Lua: HID-Scan - Code in ASCII

Mit Suchtabelle Mappe der Benutzer-ID in Zeichen (einschließlich Shift-Großbuchstab), 0x28 Endzeichen LW2000:

_barCode = ""
usbScanGun = {
  [0x04] = {"a","A"}, [0x05] = {"b","B"}, ... [0x1D] = {"z","Z"},
  [0x1E] = {"1","!"}, [0x1F] = {"2","@"}, ... [0x27] = {"0",")"},
  [0x2C] = {" "," "}, [0x28] = {"n","n"}  -- Enter
}
function on_key(key)
  local usage = key & 0xFF
  local shift = (key >> 8) & 0xFF
  if usage == 0x28 then        -- 结束符
    set_string(VT_LW, 0x2000, _barCode)
    _barCode = ""
    return
  end
  local ch = usbScanGun[usage]
  if ch then
    _barCode = _barCode .. (shift ~= 0 and ch[2] or ch[1])
  end
end

VisualHMI USB HID Scanner: on _ key Scanner Code in ASCIIAbbildung

Das Wesentliche der Scanner-Gun istTastatur-Simulation: HID meldet, dass der Scancode nicht ASCII ist, muss selber überprüft werden. Der Shift-Zustand ist 8 Stellen höher als Key und unterscheidet zwischen Groß - und Kleinschrift. 0x28 ist ein Auto-End - Rückkehrzeichen - wenn es empfangen wird, wird es übergeben, ohne Zeitüberschreiten. Exklusiv für die Firmware.

Aus dem VisualHMI-Entwicklungsdokument von Guangzhou Dacai Technology (hmi-doc.gz-dc.com) und anderen technischen Tutorials "USB HID-Scanner" zusammengestellt, das Urheberrecht liegt bei Dacai Technology.

Sollte man diese Informationen für ein echtes Projekt verwenden?

Gehen Sie zum Tool Center, um Nachrichten zu analysieren, CRC-Prüfungen und Geräte-Debugging zu erledigen, oder senden Sie Anforderungen für Auswahl - und Zugangsvorschläge.

Ingenieur Mitglied

Verwandeln Sie diesen Artikel in ein umsetzbares Debuggermaterial

Erweiterte Nachrichtenanalyse, Paket-Downloads, Codebeispiele, Engineering-Szenarien und Priority-Technischer Support sind für die Real-Projekt - Bereitstellung möglich.

Unbegrenzte Werkzeuge
Datenpaket und Codepaket
Vollständige Engineering Case-Basis
Vorrangiger Zugang zum technischen Support

Antwort veröffentlichen

Ihre E-Mail - Adresse wird nicht öffentlich gemacht. Erforderliche Elemente wurden verwendet * markiert.