libusb-win32 を使用して、USB から DMX512 へのインターフェイスを介して、コンピュータからセット ライトに生データを送信しようとしています。これまでのところ、プログラムがアダプター上のエンドポイントを認識しない何らかの理由を除いて、すべてがうまく機能しているようです。ここに私のコードのスニペットがあります:
// initialize
usb_init();
usb_find_busses();
usb_find_devices();
usb_bus busses = *usb_get_busses();
// open the device
struct usb_device *dev = busses.devices;
usb_dev_handle *h = usb_open(dev);
usb_claim_interface(h, 0);
...
// close the device
usb_release_interface(h, 0);
usb_close(h);
デバッガーで構造体を調べると、次のデータが含まれています。
dev {
next //<NULL>
prev //<NULL>
filename //0x008a9938
bus //0x008a9710
descriptor //{bLength = 18 ... }
config {
bLength //9
bDescriptorType //2
wTotalLength //18
bNumInterfaces //1
bConfigurationValue //1
iConfiguration //0
bmAttributes //128
MaxPower //250
interface {
altsetting {
bLength //9
bDescriptorType //4
bInterfaceNumber //0
bAlternateSetting //0
bNumEndpoints //0
bInterfaceClass //0
bInterfaceSubClass //0
bInterfaceProtocol //0
iInterface //0
endpoint //<NULL>
extra //<NULL>
extralen //0
}
num_altsetting //1
}
extra //<NULL>
extralen //0
}
dev //<NULL>
devnum //1
num_children //0
children //<NULL>
}
ご覧のとおり、認識されたエンドポイントはありません。その上、1 つのデバイス、1 つの構成、1 つのインターフェイス、および 1 つの代替設定しかないため、私は行き止まりになっています。
そのため、USB への書き込みに使用するエンドポイント アドレスを把握しようとしています。または、使用しているアダプターがこのライブラリと互換性がない可能性があるかどうかを調べています。
前もって感謝します