? He estado investigando este problema desde hace un tiempo y parece que no puedo hacerlo bien. Tengo una versión C++ del software que me gustaría hacer en Delphi, pero no puedo hacer que funcione en Delphi. Necesito algún tipo de tutorial o guía que pueda mostrarme cómo conectarme, leer y escribir datos en un dispositivo USB HID.¿Cómo puedo comunicarme con un dispositivo USB HID en Delphi
Respuesta
Vea Jan Axelson's USB page para ejemplos. Él también ha escrito un libro. USB Complete.
Véase también Robert Marquardt's HID controller suite for Delphi.
Si está utilizando Delphi 2009 o más reciente, siga el enlace dado en la respuesta en cuestión de forma: using-hidcontroller-on-delphi-2010
Me hace sonreír cada vez que veo a alguien usando el legado de Robert :) ... +1 para señalar su componente. – 0xC0000022L
@STATUS_ACCESS_DENIED: +1 !!! – Remko
Gracias, para este componente, hay guías sobre cómo usarlo. – Grant
Puede utilizar QueryDosDevice para obtener el nombre completo del dispositivo. Enumere todas las entradas antes de enchufar el dispositivo, y luego, y vea qué nueva entrada aparece en la lista. (He encontrado que la mayoría de los dispositivos HID aparecen dos veces en la lista, todavía no he encontrado el motivo). El código contendrá "USB" "VID" "PID" y un GUID.
Puede utilizar este código con CreateFile si lo antepone con '\\? \' Y utiliza este asa como puerto serie (personalmente prefiero usar THandleStream). El código podría verse así:
var
h:THandle;
begin
h:=CreateFile(
PChar('\\?\'+MyPortName),
GENERIC_WRITE or GENERIC_READ,FILE_SHARE_WRITE or FILE_SHARE_READ,
nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
if h=INVALID_HANDLE_VALUE then RaiseLastOSError;
MyPort:=THandleStream.Create(h);
SetCommTimeouts(h,MyFCommTimeouts);
- 1. Dispositivo USB HID con Android
- 2. Protocolo HID USB pregunta
- 3. ¿Cómo puedo usar Java para comunicarme con el dispositivo a través del puerto USB?
- 4. ¿Puedo leer una tarjeta HID iClass con un dispositivo Android?
- 5. ¿Cómo comunicarse con un dispositivo USB en Windows y Java?
- 6. ¿Cómo puedo vincular un controlador con un dispositivo USB?
- 7. Crear un dispositivo HID virtual
- 8. ¿Cómo comunicarse con un dispositivo USB?
- 9. .NET API for HID (USB)?
- 10. Consumir un dispositivo USB HID en Windows CE 6.0 utilizando C#
- 11. Acceso a Linux/dev/USB como archivos estándar para comunicarse con el dispositivo USB
- 12. ¿Tiene acceso al dispositivo USB en Linux (libusb-1.0)?
- 13. Cómo leer un Lector USB Rfid que imita un teclado HID con Linux y Python3
- 14. ¿Cómo puedo ciclar un dispositivo USB desde C#?
- 15. Cómo conectarse Información USB con Delphi en Vista
- 16. ¿Cómo leer el bloque sin formato desde un dispositivo de almacenamiento USB con Delphi?
- 17. Cómo acceder a un dispositivo USB MTP con python
- 18. ¿Cómo puedo comunicarme entre hilos?
- 19. ¿Cuál es la mejor biblioteca de usb para comunicarse con dispositivos usb HID en Windows?
- 20. Hacer un dispositivo USB, controlarlo En Java
- 21. ¿Cómo comunicarse con un dispositivo USB desde la tableta Android?
- 22. ¿Cómo puedo determinar si un dispositivo USB conectado es una unidad flash USB?
- 23. Lectura y escritura en puntos finales de interrupción USB (HID) en Mac
- 24. Descubre qué proceso tiene un bloqueo exclusivo en el asa de un dispositivo USB
- 25. Cómo verificar el dispositivo usb con instrucción if en bash
- 26. Dispositivo USB conectado
- 27. USB HID se bloquea en Read() en C#
- 28. Directivo de intercambio de datos a dispositivo USB con VID y PID en Delphi
- 29. Simular un dispositivo USB para automatización
- 30. ¿Conectar el dispositivo USB al emulador de Android?
Los votos cercanos probablemente signifiquen que su pregunta carece de suficientes detalles para ser directamente responsable. ¿Se supone que debemos saber por arte de magia lo que hace tu programa C++? ¿Por qué no deletrearlo? –
Ojalá pudiera votar para no cerrar. Por favor no. Esta es una pregunta general justa sobre el enfoque a usar para hablar con un dispositivo poco común. Los detalles pueden venir más tarde. Yo, también quiero saber esta respuesta de alto nivel. – mj2008