Ho cercato questo problema da un po 'di tempo e non riesco a farlo bene. Ho una versione C++ del software che vorrei fare in delphi, ma non riesco a farlo funzionare in delphi. Ho bisogno di una sorta di tutorial o guida che possa mostrarmi come connettermi, leggere e scrivere dati su un dispositivo HID USB.Come posso comunicare con un dispositivo USB HID in delphi
risposta
Vedere Jan Axelson's USB page per esempi. Ha anche scritto un libro. USB Complete.
Vedere anche Robert Marquardt's HID controller suite for Delphi.
Se si utilizza Delphi 2009 o più recente, seguire il link indicato nella risposta su SO domanda: using-hidcontroller-on-delphi-2010
Mi fa sorridere ogni volta che vedo qualcuno che usa l'eredità di Robert :) ... +1 per indicare il suo componente. – 0xC0000022L
@STATUS_ACCESS_DENIED: +1 !!! – Remko
Grazie, per questo componente, ci sono delle guide su come usarlo. – Grant
È possibile utilizzare QueryDosDevice per ottenere il nome completo del dispositivo. Elenca tutte le voci prima di collegare il dispositivo, e dopo, e vedere quale nuova voce appare nell'elenco. (Ho scoperto che la maggior parte dei dispositivi HID appare due volte nell'elenco, non ho ancora trovato il motivo). Il codice conterrà "USB" "VID" "PID" e un GUID.
È possibile utilizzare questo codice con CreateFile se si esegue il prefisso con "\\? \" E utilizzare questo handle come porta seriale (personalmente preferisco utilizzare THandleStream). Il codice potrebbe essere il seguente:
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 HID USB Android
- 2. Come comunicare con un dispositivo USB?
- 3. Come comunicare con un dispositivo USB sotto Windows e Java?
- 4. Domanda protocollo HID USB
- 5. Come comunicare con il modem USB 3G?
- 6. API .NET per HID (USB)?
- 7. Come utilizzare correttamente libusb per comunicare con dispositivi USB collegati?
- 8. Come posso utilizzare Java per comunicare al dispositivo tramite la porta USB?
- 9. Consumo di un dispositivo HID USB in Windows CE 6.0 mediante C#
- 10. Creare un dispositivo USB, controllarlo in Java
- 11. Comunicazione FTDI con dispositivo USB - Obiettivo C
- 12. Come comunicare con il dispositivo OBD-II
- 13. Simula un dispositivo USB per l'automazione
- 14. Collegare il dispositivo USB all'emulatore Android?
- 15. Report HID OUT USB: quale endpoint è giusto?
- 16. Come posso far passare un dispositivo USB da C#?
- 17. Come leggere il blocco raw da un dispositivo di archiviazione USB con Delphi?
- 18. Come recuperare il GUID dell'interfaccia del dispositivo USB?
- 19. Enumerazione di dispositivi HID USB utilizzando SetupAPI nell'app 6423
- 20. Come connettere le informazioni USB con Delphi su Vista
- 21. Come accedere a un dispositivo MTP USB con python
- 22. Come identificare UNICAMENTE un dispositivo USB?
- 23. C# rileva dispositivo USB ClassCode (tipo di dispositivo USB)
- 24. HID USB si blocca su Read() in C#
- 25. Come posso intercettare i messaggi da un dispositivo USB su Linux?
- 26. Dispositivo USB collegato
- 27. conoscere l'endpoint di un dispositivo USB
- 28. Bridge Host USB al dispositivo
- 29. Come catturare l'input HID raw su linux?
- 30. Creazione di un dispositivo USB virtuale
I voti ravvicinati probabilmente significano che alla tua domanda manca di dettagli sufficienti per poter rispondere direttamente. Dovremmo sapere per magia cosa fa il vostro programma C++? Perché non spiegarlo? –
Vorrei poter votare per non chiudere. Per favore non farlo. Questa è una giusta domanda generale sull'approccio da usare per parlare con un dispositivo non comune. Le specifiche possono venire più tardi. Io, voglio conoscere anche questa risposta di alto livello. – mj2008