2012-02-20 2 views
1

나는 내 응용 프로그램을 사용하여 가치를 얻고 자하는 다른 응용 프로그램과 의사 소통하는 장치가 있습니다. 인터넷 검색, ansio 라이브러리를 발견, 그것을 설치하고 시작을위한 this 튜토리얼을 찾았습니다.USB 포트를 열고 asio 라이브러리를 사용하여 데이터를받는 방법?

질문 : 장치 이름을 포트 이름으로 설정하는 방법은 무엇입니까? 내가 쓴 다음

Bus 001 Device 004: ID 0ac8:305b Z-Star Microelectronics Corp. ZC0305 Webcam 

:

Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub 
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub 
Bus 002 Device 002: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode) 
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub 
Bus 001 Device 004: ID 0ac8:305b Z-Star Microelectronics Corp. ZC0305 Webcam 
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub 

내가 웹캠 장치를 처리하는 경우 : lsusb를 사용 , 내가 얻을

try { 
    SimpleSerial serial("/dev/ttyUSB4",115200); // get SimpleSerial class on link above 
    cout<<serial.readLine()<<endl; 
    return 0; 

} catch(boost::system::system_error& e) 
{ 
    cout<<"Error: "<<e.what()<<endl; 
    return 1; 
} 

하지만 그것은 주어진 : Error: open: No such file or directory 방법 수정 이? 미리 감사드립니다.

+0

'strace'에서 프로그램을 실행하고'/ dev/ttyUSB4' 문자열을 찾아 그 지점의 함수 호출을 점검하여 라이브러리가 실제로 무엇을하는지 실마리를 얻으십시오. –

답변

1

쉘에 ls /dev/tty*을 입력하고 결과 포트 중 하나를 선택하십시오. 불행하게도 어느 것이 옳은 것인지 확실히 말할 수는 없습니다. 그렇지 않으면 dmesg의 출력을 처리하여 올바른 포트를 추출해보십시오.

관련 문제