Pregunta

Me pregunto por qué el marco .NET no proporciona ningún método gestionados para trabajar con los controladores USB. De todo lo que he leído todavía tiene que poner en la API de Windows y utilizando la clasificación y el PInvoke y toda esa basura que ninguno de nosotros los programadores .NET quiero tener que hacer. ¿Por qué .NET proporcionan métodos para la comunicación con los puertos serie, pero no puertos USB? USB se ha convertido en mucho más ampliamente utilizados que los puertos de serie ahora, ¿No es hora de que lo incorporaron en el marco?

¿Fue útil?

Solución

Al igual que todas las demás características en el marco .Net se llega a costar contra la recompensa. Con cada nueva versión de .Net los propietarios tienen que tomar decisiones de corte muy doloroso para características. Simplemente hay demasiadas peticiones / quiere satsify a todos. Los que son elegidos deben proporcionar un valor claro a un costo razonable.

Mi suposición es que los puertos serie, aunque probablemente menos popular que el USB, son simplemente más fácil de implementar en código administrado. Por lo tanto, a pesar de que el uso no puede ser tan alta, el pariente más fácil de implementar que los pusieron en la parte superior.

Otros consejos

USB es sólo un autobús. La manera de comunicarse con el dispositivo depende del chip en el otro lado del autobús. No hay una forma estandarizada para hablar con todos los dispositivos.

Si un proveedor de dispositivos USB quiere exponer el dispositivo a una forma estándar (la mayoría de ellos cumplir con las especificaciones para ahorrar costes en desarrollar, documentar y educar a los clientes acerca de sus APIs), sus programadores del controlador pueden escribir controladores que hacen que el dispositivo disponible para varias API de Windows (almacenamiento masivo, WIA, DirectShow, puerto serie virtual, bluetooth, dispositivo de interfaz humana, etc.). Una vez más, ya que los conductores estandarizados ya están expuestos a la API de Windows, no hay necesidad de .Net para hablar con hardware directamente.

Si usted está buscando para interactuar con un dispositivo compatible con USB HID es posible echar un vistazo a CC .USBHID. Es viejo y desagradable, pero puede ser que consiga que va en la dirección correcta. Puede haber proyectos más maduros disponibles.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top