硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1197|回复: 8
收起左侧

USB通信上位机编写,已检测到BUSHOUND通信包,如何编码

[复制链接]

1

主题

20

回帖

23

积分

新手上路

积分
23
发表于 2022-5-31 16:24:58 | 显示全部楼层 |阅读模式
大致是这样,
1.这个设备已经可以和电脑通信,并且有官方的上位机进行连接和数据读取。
2. 由于是要将这个设备的一些数据与其他的设备,进行交互计算,不适合用官方上位机进行。
3. 也没有相关的SDK开发支持。
现在想通过自己编码,与这个设备进行USB通信。不知道可行性如何,特向大佬请教。
可以用BUS HOUND 进行通信包的截取,在排除加密的功能性,这样做是否可行?
另外,这个设备当然不是通过USB模拟串口的。。。
image.png

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106882
QQ
发表于 2022-5-31 18:49:00 | 显示全部楼层
用libUSB就行,纯C的,很好掌握,楼主整款支持运行C的上位机开发软件就可以方便运行。

https://www.armbbs.cn/forum.php?mod=viewthread&tid=90026
回复

使用道具 举报

1

主题

20

回帖

23

积分

新手上路

积分
23
 楼主| 发表于 2022-6-1 07:21:49 | 显示全部楼层
eric2013 发表于 2022-5-31 18:49
用libUSB就行,纯C的,很好掌握,楼主整款支持运行C的上位机开发软件就可以方便运行。

https://www.armb ...

正在用libusb做。现在打开设备失败,可能是同时装了两种驱动[官方的和libusb],产生了冲突?
还有说是权限问题,正在着手解决办法
r = libusb_init(NULL);
        if (r < 0) {
                printf("USBLib Init Error\n");
                goto errore;
        }
        //Hardware ID : USB\VID_128D& PID_000F& REV_0100   10C4 - EA60
       device = libusb_open_device_with_vid_pid(NULL,0x128D,0x000F);
        if (!device) {
                printf("open device Fail\n");
                goto errore;
        }
回复

使用道具 举报

1

主题

20

回帖

23

积分

新手上路

积分
23
 楼主| 发表于 2022-6-1 07:39:44 | 显示全部楼层
eric2013 发表于 2022-5-31 18:49
用libUSB就行,纯C的,很好掌握,楼主整款支持运行C的上位机开发软件就可以方便运行。

https://www.armb ...

通过你提供的链接,替换驱动后,可以打开设备了。但是收发数据不对,似乎端口没有取对?
回复

使用道具 举报

1

主题

20

回帖

23

积分

新手上路

积分
23
 楼主| 发表于 2022-6-1 09:07:21 | 显示全部楼层
查询到对应的端点了,往这个端点写数据  失败?
image.png
image.png
image.png
回复

使用道具 举报

1

主题

20

回帖

23

积分

新手上路

积分
23
 楼主| 发表于 2022-6-1 09:13:16 | 显示全部楼层
libusb_bulk_transfer 返回-5   LIBUSB_ERROR_NOT_FOUND
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106882
QQ
发表于 2022-6-1 09:52:06 | 显示全部楼层
ddr130 发表于 2022-6-1 09:13
libusb_bulk_transfer 返回-5   LIBUSB_ERROR_NOT_FOUND

你的下位机配合好没
回复

使用道具 举报

1

主题

20

回帖

23

积分

新手上路

积分
23
 楼主| 发表于 2022-6-1 10:08:11 | 显示全部楼层
eric2013 发表于 2022-6-1 09:52
你的下位机配合好没

libusb_set_configuration(device, 1);
libusb_claim_interface(device, 1);
打开设备后,添加以上代码,可以收发数据了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106882
QQ
发表于 2022-6-2 11:46:39 | 显示全部楼层
ddr130 发表于 2022-6-1 10:08
libusb_set_configuration(device, 1);
libusb_claim_interface(device, 1);
打开设备后,添加以上代码 ...

好的、
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-9 02:20 , Processed in 0.236239 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表