[c++] libusb와 디바이스 관리
libusb는 USB 장치를 제어하기 위한 C 라이브러리로, 다양한 플랫폼에서 사용할 수 있습니다. 이 라이브러리를 사용하여 USB 장치를 검색하고, 연결하고, 데이터를 송수신할 수 있습니다.
libusb 설치하기
libusb는 다양한 패키지 매니저를 통해 설치할 수 있습니다. 예를 들어, Ubuntu에서는 다음과 같이 설치할 수 있습니다.
sudo apt-get install libusb-1.0-0-dev
USB 디바이스 열기
libusb를 사용하여 USB 디바이스를 열려면 다음과 같은 단계를 거칩니다.
초기화
libusb_context *ctx = NULL;
libusb_init(&ctx);
디바이스 찾기
libusb_device **devs;
ssize_t cnt = libusb_get_device_list(ctx, &devs);
디바이스 열기
libusb_open(devs[i], &handle);
데이터 송수신
USB 디바이스를 열고 나면, libusb를 사용하여 데이터를 송수신할 수 있습니다. 예를 들어, 데이터를 전송하려면 다음과 같이 할 수 있습니다.
unsigned char data[] = { 0x01, 0x02, 0x03 };
int transferred;
libusb_bulk_transfer(handle, endpoint_out, data, sizeof(data), &transferred, 0);
결론
libusb를 사용하여 USB 장치를 관리하는 방법에 대해 간략히 살펴보았습니다. libusb를 사용하면 크로스 플랫폼 USB 장치 제어에 용이한 도구를 사용할 수 있습니다.