2012-08-13 4 views
1

내 목표는 전원에에 밖으로에서 흐르는되어 있는지 확인하기 위해 USB 포트를 폴링 C++/C#을 사용하는 것입니다.Infared 감지기 USB의 설문 조사

나는 infared 검출기는 다음 USB 출력에 연결되어 주도하고 있습니다 다시 입력으로. 기본적으로 다음과 같이 할 수있는 방법을 알고 싶습니다.

USBDevice usb = LoadUSBDevice(port1); 
boolean detected = usb:isPowerFlowingOutToIn(); 
if(detected){ 
    double amount = usb:getVoltage(); 
    if(amount > somenumber){ 
      //do stuff 
    } 
} 
+0

적외선 탐지기 설명서를 읽어야합니다. 일반적으로 이러한 장치는 알려진 프로그래밍 인터페이스의 드라이버와 함께 제공됩니다. 예를 들어 적외선 장치는 사용자 모드 프로그램에서 소켓 또는 가상 COM 포트로 액세스 할 수 있습니다. –

+0

'usb :: getVoltage'는 필요하지 않습니다. 단지 5V입니다. 당신은 아마'getCurrent'를 원했습니다. – MSalters

답변

0

이 설정은 그대로 작동하지 않습니다. USB 장치는 USB 사양에 따라 응답해야하며 할당 된 주소를 얻지 못합니다. 기기가 제대로 작동하지 않기 때문에 (예 : 공급 업체 ID, 제품 ID, 기기 클래스 등을 설정하지 못한 경우) 주소를 얻지 못합니다. 따라서 가상의 LoadUSBDevice(port1);은 작동하지 않습니다.

Raymond Chen은 "포크는 비표준 USB 장치이기도합니다."라고 요약했습니다. Windows USB 드라이버는 상당히 관대하지만 USB 포트에 연결하면 아무 것도 작동하지 않을 것입니다.