libusbを使用してCDCデバイスと通信しようとしています。私がテストしたコードは以下の通りです。libusbはWindowsではCDCデバイスを開くことができませんが、Linuxでは可能です。
/* Initialize libusb
*/
rc = libusb_init(NULL);
if (rc < 0) {
fprintf(stderr, "Error initializing libusb: %s\n", libusb_error_name(rc));
exit(1);
}
/* Set debugging output to max level.
*/
libusb_set_debug(NULL, 3);
/* Look for a specific device and open it.
*/
devh = libusb_open_device_with_vid_pid(NULL, VENDOR_ID, PRODUCT_ID);
if (!devh) {
fprintf(stderr, "Error finding USB device\n");
goto out;
}
ない:私は、私はWindowsとLinuxの両方のためのプロジェクトを構築しhttps://github.com/tytouf/libusb-cdc-example/blob/master/cdc_example.c
からコードを取ります。 linuxでは、プログラムは期待どおりに動作しました。デバイスが正常に開かれました。しかし、Windowsでは、libusbはデバイスを開くことができません。エラー「UNKNOWN_ERROR」を返します(エラーコードは0xFFFFFFFbです)
何が原因の可能性がありますか?
Windowsに[何らかの種類のドライバ](http://www.libusb.org/wiki/windows_backend#DriverInstallation)をインストールしましたか? – BNT
お返事ありがとうございます。はい、私はドライバをインストールしますが、問題はまだ存在します。さらに、私は任意の端末プログラムからCDCデバイスにアクセスできます。 Windowsが正常にデバイスを登録します。 – yrgat
あなたはどのWindowsバージョンを使用していますか?使用しているコンパイラとプログラムの正確な出力は?あなたは管理者としてそれを実行しようとすることができますか? – BNT