Domanda

Mi chiedo perché il framework .NET non fornisce alcun metodo gestito per lavorare con driver USB. Da tutto quello che ho letto si devono ancora mettere in API di Windows e di utilizzare smistamento e PInvoke e tutte quelle stronzate che nessuno di noi programmatori .NET vogliono avere a che fare. Perché .NET fornire metodi per comunicare con le porte seriali ma non le porte USB? USB è diventato molto più ampiamente utilizzati, che le porte seriali ora, non è il momento hanno incorporato nel quadro?

È stato utile?

Soluzione

Come tutte le altre caratteristiche del framework .Net si tratta di un costo vs ricompensa. Con ogni rilascio di .Net proprietari devono prendere decisioni di taglio molto dolorose per le caratteristiche. Ci sono semplicemente troppe richieste / vuole satsify tutti. Quelli che sono scelte devono fornire un chiaro valore ad un costo ragionevole.

La mia ipotesi è che le porte seriali, mentre probabilmente meno popolare di USB, sono semplicemente più facili da implementare nel codice gestito. Quindi, anche se l'utilizzo non può essere alto, la relativa facilità di applicazione li metterli sopra la parte superiore.

Altri suggerimenti

USB è solo un autobus. Il modo di comunicare al dispositivo dipende dal sensore all'altro lato del bus. Non c'è un modo standardizzato per parlare con tutti i dispositivi.

Se un fornitore di dispositivo USB desidera esporre il dispositivo ad un modo standard (la maggior parte di loro non sono conformi alle norme per risparmiare sui costi di sviluppo, documenti, ed educare i clienti circa le loro API), i programmatori conducente può scrivere driver che rendono il dispositivo disponibile per varie API di Windows (stoccaggio massivo, WIA, DirectShow, porta seriale virtuale, bluetooth, Human Interface dispositivo, ecc). Anche in questo caso, dal momento che i driver standard sono già esposti a API di Windows, non v'è alcuna necessità di Net di parlare direttamente all'hardware.

Se stai cercando di interfacciarsi con un dispositivo USB compatibile HID si potrebbe dare un'occhiata a CC .USBHID. E 'vecchio e brutto, ma potrebbe farti andare nella giusta direzione. Ci potrebbero essere i progetti più maturi a disposizione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top