gpt4 book ai didi

C++ libusb : how to send data to device?

转载 作者:太空宇宙 更新时间:2023-11-04 13:04:48 24 4
gpt4 key购买 nike

美好的一天。
我正在使用 libusb 为“MGX 模拟信号发生器 N5181B”编程接口(interface)。
首先我必须初始化设备,所以下一步是发送数据。例如,我想更改将在发电机中显示的频率。
我的代码:

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

#include <libusb.h>


using namespace std;
int main(int argc, char *argv[]) {

if (libusb_has_capability(LIBUSB_CAP_HAS_HOTPLUG) != 1){
cout<<"This platform hasn't support for hotplug callback notification"<<endl;
return 0;
}

libusb_device_handle* dev_handle;
libusb_device* dev;
libusb_context* ctx = NULL;
int r;

r = libusb_init(&ctx);
if (r < 0) {
cout<<"Init error "<<r<<endl;
}
libusb_set_debug(ctx, 3);

dev_handle = libusb_open_device_with_vid_pid(ctx, 1266, 45940);
unsigned char data[15] = {':', 'F', 'R', 'E', 'Q', ' ', '5', '0', '0', '0', '0', ' ', 'K', 'H', 'Z'};
int actual_length;
r = libusb_bulk_transfer(dev_handle, LIBUSB_ENDPOINT_IN, data, sizeof(data), &actual_length, 0);

libusb_exit(ctx);

return 0;
}

编译这个让我关注:
libusb: 错误 [submit_bulk_transfer] submiturb 失败错误 -1 errno=2

请问,我做错了什么?
感谢您的关注。

最佳答案

如果您想在当前设备上进行批量传输,请使用 libusb_detach_kernel_driver 和 libusb_claim_interface。事务发布后_inerface并关闭设备

关于C++ libusb : how to send data to device?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42910777/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com