[c++] C++에서 libusb 사용하기
C++에서 USB 장치와 통신하려면 libusb 라이브러리를 사용할 수 있습니다. 이 라이브러리를 사용하면 USB 장치로 데이터를 전송하고 제어할 수 있습니다.
libusb 라이브러리 설치
libusb를 사용하기 위해서는 우선 해당 라이브러리를 시스템에 설치해야 합니다.
Windows에서 libusb 설치
Windows에서는 libusb의 바이너리 빌드를 다운로드하여 설치할 수 있습니다. 또는 개발환경에 따라 빌드할 수도 있습니다.
Linux에서 libusb 설치
대부분의 Linux 배포판은 libusb를 패키지로 제공하고 있어 설치가 간단합니다. 패키지 관리자를 사용하여 libusb를 설치할 수 있습니다.
C++ 코드에서 libusb 사용하기
libusb를 사용하여 C++ 코드에서 USB 장치와 통신하는 방법은 다음과 같습니다.
#include <iostream>
#include <libusb.h>
int main() {
libusb_context *ctx = NULL;
libusb_device_handle *devh = NULL;
// libusb 초기화
int ret = libusb_init(&ctx);
if (ret < 0) {
std::cout << "libusb initialization error" << std::endl;
return 1;
}
// USB 장치 열기
devh = libusb_open_device_with_vid_pid(ctx, vendor_id, product_id);
if (devh == NULL) {
std::cout << "Failed to open USB device" << std::endl;
libusb_exit(ctx);
return 1;
}
// USB 통신 및 작업 수행
// 장치 닫기
libusb_close(devh);
// libusb 종료
libusb_exit(ctx);
return 0;
}
위의 예시 코드에서 vendor_id
와 product_id
는 대상 USB 장치의 벤더 ID와 제품 ID로 대체되어야 합니다.
마치며
위 예시는 libusb를 사용하여 C++에서 USB 장치를 열고 통신하는 간단한 방법을 보여줍니다. libusb에 대한 더 자세한 정보는 해당 문서를 참고하시기 바랍니다.