Lectura de datos útiles de entrada de código de barras

4

He interconectado un escáner de código de barras HID con LPC2468. Está enviando datos cuando escaneo un código de barras, envía una gran cantidad de bytes cuando hago una exploración, ¿cómo puedo saber de estos bytes que son los bytes correspondientes al código de barras escaneado?

Por ejemplo: si escaneo un código de barras que tiene un valor 2M12264185, enviaré los siguientes datos

 1: Input Report:
    2: Input Report: 0, 0, 0, 0, 0, 0, 0, 0, 
    3: Input Report: 0, 0, 1F, 0, 0, 0, 0, 0,
    4: Input Report: 0, 0, 0, 0, 0, 0, 0, 0,
    5: Input Report: 2, 0, 0, 0, 0, 0, 0, 0,
    6: Input Report: 2, 0, 10, 0, 0, 0, 0, 0,
    7: Input Report: 2, 0, 0, 0, 0, 0, 0, 0,
    8: Input Report: 0, 0, 0, 0, 0, 0, 0, 0,
    9: Input Report: 0, 0, 1E, 0, 0, 0, 0, 0,
    10: Input Report: 0, 0, 0, 0, 0, 0, 0, 0,
    11: Input Report: 0, 0, 1F, 0, 0, 0, 0, 0,
    12: Input Report: 0, 0, 0, 0, 0, 0, 0, 0,
    13: Input Report: 0, 0, 1F, 0, 0, 0, 0, 0,
    14: Input Report: 0, 0, 0, 0, 0, 0, 0, 0,
    15: Input Report: 0, 0, 23, 0, 0, 0, 0, 0,
    16: Input Report: 0, 0, 0, 0, 0, 0, 0, 0,
    17: Input Report: 0, 0, 21, 0, 0, 0, 0, 0,
    18: Input Report: 0, 0, 0, 0, 0, 0, 0, 0,
    19: Input Report: 0, 0, 1E, 0, 0, 0, 0, 0,
    20: Input Report: 0, 0, 0, 0, 0, 0, 0, 0,
    21: Input Report: 0, 0, 25, 0, 0, 0, 0, 0,
    22: Input Report: 0, 0, 0, 0, 0, 0, 0, 0,
    23: Input Report: 0, 0, 22, 0, 0, 0, 0, 0,
    24: Input Report: 0, 0, 0, 0, 0, 0, 0, 0,
    25: Input Report: 0, 0, 28, 0, 0, 0, 0, 0,
    26: Input Report: 0, 0, 0, 0, 0, 0, 0, 0,

Cómo distinguir los bytes de datos de otros bytes.

    
pregunta Sarao

1 respuesta

8

Si bien no voy a adivinar qué es cada campo, su escáner de código de barras está emulando un teclado USB HID. Cada línea con campos que no son cero indica una pulsación de tecla, y todos los ceros indican que no se presionó ninguna tecla.

El tercer campo es el código de la clave USB HID. Consulte este enlace del grupo de USB , comenzando con la página 53. Tenga en cuenta que los códigos USB HID no se alinean con ASCII u otros lenguajes de código de barras. Al verificar los códigos de clave en comparación con lo que dice, el código de barras debería debe ser una coincidencia 1: 1.

El segundo campo parece ser una columna modificadora, cuando es igual a 2 la tecla 'Shift' está presionada. Eso haría que su "informe de entrada 5-7" se vea así:

4: 
5: <Shift>
6: <Shift> <M>
7: <Shift>
8: 
    
respondido por el W5VO

Lea otras preguntas en las etiquetas