문제

.NET 프레임워크가 USB 드라이버 작업을 위한 관리 방법을 제공하지 않는 이유가 궁금합니다.내가 읽은 모든 것에서 여전히 Windows API를 호출하고 마샬링 및 PInvoke를 사용해야 하며 우리 .NET 프로그래머 중 누구도 원하지 않는 모든 쓰레기를 사용해야 합니다..NET에서 USB 포트가 아닌 직렬 포트와 통신하는 방법을 제공하는 이유는 무엇입니까?이제 USB는 직렬 포트보다 훨씬 더 널리 사용됩니다. 이제 USB를 프레임워크에 통합할 때가 아닌가요?

도움이 되었습니까?

해결책

.Net 프레임워크의 다른 모든 기능과 마찬가지로 비용과 비용이 중요합니다.보상..Net이 출시될 때마다 소유자는 기능에 대해 매우 고통스러운 결정을 내려야 합니다.요청이 너무 많아서 모두 만족시키고 싶어합니다.선택된 것은 합리적인 비용으로 명확한 가치를 제공해야 합니다.

내 생각에는 직렬 포트가 USB보다 덜 인기가 있지만 관리 코드에서 구현하기가 더 쉽다는 것입니다.따라서 사용률이 높지 않더라도 상대적으로 구현하기가 쉽기 때문에 가장 먼저 사용됩니다.

다른 팁

USB는 버스일 뿐이다.장치와 통신하는 방법은 버스 반대쪽에 있는 칩에 따라 다릅니다.모든 장치와 통신하는 표준화된 방법은 없습니다.

USB 장치 공급자가 장치를 표준 방식으로 노출하려는 경우(대부분 개발, 문서화 및 클라이언트 API에 대한 교육 비용을 절약하기 위해 표준을 준수함), 드라이버 프로그래머는 장치를 사용할 수 있도록 하는 드라이버를 작성할 수 있습니다. 다양한 Windows API(대용량 스토리지, WIA, DirectShow, 가상 직렬 포트, 블루투스, 휴먼 인터페이스 장치 등).다시 말하지만, 표준화된 드라이버는 이미 Windows API에 노출되어 있으므로 .Net이 하드웨어와 직접 통신할 필요가 없습니다.

HID 호환 USB 장치와 인터페이스하려는 경우 다음을 살펴보십시오. CC.USBHID.오래되고 지저분하지만 올바른 방향으로 나아갈 수 있습니다.더 성숙한 프로젝트가 있을 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top