请选择 进入手机版 | 继续访问电脑版

硬汉嵌入式论坛

 找回密码
 立即注册
楼主: eric2013
收起左侧

[专题教程] 【专题教程第8期】基于emWin模拟器的USB BULK上位机开发,仅需C即可,简单易实现

  [复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
 楼主| 发表于 2021-3-9 08:30:09 | 显示全部楼层
db970511 发表于 2021-3-8 11:12
汉哥,小弟想咨询一下,利用bulk传输可以将usb2.0的传输速度,跑满吗?网站上面提供的例程,其传输速度是多 ...

差不多能跑个500KB左右。
回复

使用道具 举报

1

主题

6

回帖

9

积分

新手上路

积分
9
发表于 2021-3-10 16:30:03 | 显示全部楼层
eric2013 发表于 2019-6-21 17:42
后面发布H7版教程。

坐等V7教程哇哇哇哇!!!!!等等等等等等等等等!!!!!想知道个大概时间
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
 楼主| 发表于 2021-3-10 17:42:53 | 显示全部楼层
Azerzrz 发表于 2021-3-10 16:30
坐等V7教程哇哇哇哇!!!!!等等等等等等等等等!!!!!想知道个大概时间

近期一腾出时间就做。
回复

使用道具 举报

1

主题

6

回帖

9

积分

新手上路

积分
9
发表于 2021-3-11 15:48:37 | 显示全部楼层
想请问,这个代码可以移植到F7的板上吗?若可以的话,需要注意些什么呢
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
 楼主| 发表于 2021-3-11 16:27:03 | 显示全部楼层
Azerzrz 发表于 2021-3-11 15:48
想请问,这个代码可以移植到F7的板上吗?若可以的话,需要注意些什么呢

先把RL-USB移植下。
回复

使用道具 举报

0

主题

6

回帖

6

积分

新手上路

积分
6
发表于 2021-3-20 04:48:40 | 显示全部楼层
我是用cubemx生成的vcp,在win10下被自动识别成usb串口设备并自动安装了驱动,我的上位机是用的libusb,我想用zadig生成的驱动,需要手动更新才行。改了vid和pid,bDeviceClass也是这样,都被win10自动识别了,还要改动那个描述符能让win10不自动安装它自带的串口驱动。
/* USB Standard Device Descriptor */
const uint8_t Virtual_Com_Port_DeviceDescriptor[] =
  {
    0x12,   /* bLength */
    USB_DEVICE_DESCRIPTOR_TYPE,     /* bDescriptorType */
    0x00,
    0x02,   /* bcdUSB = 2.00 */
    0xFF,   /* bDeviceClass: CDC */
    0xFF,   /* bDeviceSubClass */
    0xFF,   /* bDeviceProtocol */
    0x40,   /* bMaxPacketSize0 */
    0x78,
    0x56,   /* idVendor = 0x0483 */
    0x34,
    0x12,   /* idProduct = 0x7805 */
    0x00,
    0x02,   /* bcdDevice = 2.00 */
    1,              /* Index of string descriptor describing manufacturer */
    2,              /* Index of string descriptor describing product */
    3,              /* Index of string descriptor describing the device's serial number */
    0x01    /* bNumConfigurations */
  };
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
 楼主| 发表于 2021-3-20 10:45:58 | 显示全部楼层
armfans 发表于 2021-3-20 04:48
我是用cubemx生成的vcp,在win10下被自动识别成usb串口设备并自动安装了驱动,我的上位机是用的libusb,我 ...

一般多卸载几次可以解决。
回复

使用道具 举报

0

主题

15

回帖

15

积分

新手上路

积分
15
QQ
发表于 2021-3-22 16:35:10 | 显示全部楼层
请教一下  我用STM32F407+USB3300做的USB,现在电脑端可以枚举设备,上位机软件也能打开USB但是点击“开始数据采集”没有数据,这种情况还需要修改哪些地方,或者用什么软件可以调试那?

打开设备后

打开设备后
打开设备
2.png 我自己的USB设备读到的USB设备描述符
3.png 安福莱PDF文档里面的截图

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
 楼主| 发表于 2021-3-23 08:47:35 | 显示全部楼层
loudianxin 发表于 2021-3-22 16:35
请教一下  我用STM32F407+USB3300做的USB,现在电脑端可以枚举设备,上位机软件也能打开USB但是点击“开始 ...

你这个是用的新版RL-USB实现的吗,如果是的话,先不要用Zadig安装驱动,测试下虚拟串口正常不,这点有助于你调试。
回复

使用道具 举报

0

主题

15

回帖

15

积分

新手上路

积分
15
QQ
发表于 2021-3-23 08:53:11 | 显示全部楼层
eric2013 发表于 2021-3-23 08:47
你这个是用的新版RL-USB实现的吗,如果是的话,先不要用Zadig安装驱动,测试下虚拟串口正常不,这点有助 ...

谢谢回复,不是用的RL-USB,ST官方usb库做的,参考别人的代码在原有上位机基础上改了usb可以采集数据了。。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
 楼主| 发表于 2021-3-23 11:04:21 | 显示全部楼层
loudianxin 发表于 2021-3-23 08:53
谢谢回复,不是用的RL-USB,ST官方usb库做的,参考别人的代码在原有上位机基础上改了usb可以采集数据了。 ...

好的,解决了就好。
回复

使用道具 举报

0

主题

15

回帖

15

积分

新手上路

积分
15
发表于 2021-3-31 10:14:38 | 显示全部楼层
硬汉大佬,我按照上位机的教程添加USB的lib和.h文件之后编译提示找不到lusb.lib这个文件。我看了那个lusb0_usb.h里面好像没有引用这个lusb.lib啊。难道是libusb.lib里面引用了lusb.lib?ps:我用的是codeblocks.

编译出错

编译出错
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
 楼主| 发表于 2021-4-2 09:02:33 | 显示全部楼层
李伟1991 发表于 2021-3-31 10:14
硬汉大佬,我按照上位机的教程添加USB的lib和.h文件之后编译提示找不到lusb.lib这个文件。我看了那个lusb0_u ...

codeblock我不太清楚,用的不熟。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
 楼主| 发表于 2021-4-19 22:56:49 | 显示全部楼层
更新教程。
回复

使用道具 举报

0

主题

64

回帖

64

积分

初级会员

积分
64
发表于 2021-6-14 20:50:10 | 显示全部楼层
~~~~~~~~~~~~~~~~~~~
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2021-9-15 15:43:41 | 显示全部楼层
VC6.0~~配了一个win7 的虚拟机,我都佩服我自己
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
 楼主| 发表于 2021-9-16 08:37:21 | 显示全部楼层
chris.chen 发表于 2021-9-15 15:43
VC6.0~~配了一个win7 的虚拟机,我都佩服我自己

支持Win10

VC6.0在Win10上依然健壮,简单好用轻便
http://www.armbbs.cn/forum.php?m ... 6878&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

6

主题

42

回帖

60

积分

初级会员

积分
60
发表于 2021-9-18 21:04:33 | 显示全部楼层
百度云盘里的 BUCK上位机 双击运行有问题
afyusb上位机问题.jpg

回复

使用道具 举报

6

主题

42

回帖

60

积分

初级会员

积分
60
发表于 2021-9-18 21:09:50 | 显示全部楼层
百度云盘里的 buck上位机,不能运行:
afyusb上位机问题.jpg
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
 楼主| 发表于 2021-9-19 09:56:39 | 显示全部楼层
中尴人 发表于 2021-9-18 21:04
百度云盘里的 BUCK上位机 双击运行有问题

要先安装驱动,方便的话,看下教程说明,或者本帖二楼。
回复

使用道具 举报

6

主题

42

回帖

60

积分

初级会员

积分
60
发表于 2021-9-19 14:32:51 | 显示全部楼层
eric2013 发表于 2021-9-19 09:56
要先安装驱动,方便的话,看下教程说明,或者本帖二楼。

请问Zadig在哪里下载?
回复

使用道具 举报

6

主题

42

回帖

60

积分

初级会员

积分
60
发表于 2021-9-19 14:34:27 | 显示全部楼层
eric2013 发表于 2018-11-5 01:45
这里补充个知识点,驱动安装是采用的先安装RL-USB的驱动,然后用Zadig安装libusb驱动替换。实际上可以省去R ...

这个工具在哪里下载?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
 楼主| 发表于 2021-9-19 14:58:25 | 显示全部楼层
中尴人 发表于 2021-9-19 14:34
这个工具在哪里下载?

Zadig:USB驱动安装工具,此工具让libusb-win32,WinUSB,libusbK的驱动安装超级简
http://www.armbbs.cn/forum.php?m ... 5108&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

2

主题

75

回帖

81

积分

初级会员

积分
81
发表于 2022-4-21 20:47:39 | 显示全部楼层
下位机还比较好做,上位机GUI也不是事,这个驱动还是没看懂,Zadiag是做什么的,介绍说是安装驱动。
我看到微软说Win8及以上,通过设置USB设备下位机信息可以让系统自动安装WinUSB
这个软件是不是给那些不能自动安装驱动的,给它安装驱动,然后才能在应用层通过USB通信方法与下位机通信
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
 楼主| 发表于 2022-4-22 09:40:07 | 显示全部楼层
eggplant886 发表于 2022-4-21 20:47
下位机还比较好做,上位机GUI也不是事,这个驱动还是没看懂,Zadiag是做什么的,介绍说是安装驱动。
我看 ...

这个帖子用的不是WinUSB,是libUSB。
回复

使用道具 举报

0

主题

8

回帖

8

积分

新手上路

积分
8
发表于 2022-5-3 21:34:23 | 显示全部楼层
谢谢楼主分享!!!
回复

使用道具 举报

73

主题

666

回帖

885

积分

金牌会员

积分
885
发表于 2022-8-14 23:23:47 | 显示全部楼层
libusb打开非HID设备失败硬汉有遇到过吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
 楼主| 发表于 2022-8-16 00:36:27 | 显示全部楼层
庄永 发表于 2022-8-14 23:23
libusb打开非HID设备失败硬汉有遇到过吗?

对于你的这个设备,安装了libUSB对应的驱动了,安装了对应的驱动才可以使用libUSB访问。
回复

使用道具 举报

73

主题

666

回帖

885

积分

金牌会员

积分
885
发表于 2022-8-16 12:09:02 | 显示全部楼层
eric2013 发表于 2022-8-16 00:36
对于你的这个设备,安装了libUSB对应的驱动了,安装了对应的驱动才可以使用libUSB访问。

只能替换驱动使用吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
 楼主| 发表于 2022-8-16 12:18:23 | 显示全部楼层
庄永 发表于 2022-8-16 12:09
只能替换驱动使用吗?

对,必须得用libUSB的驱动。就是用那个zadig小软件安装覆盖下就行
回复

使用道具 举报

73

主题

666

回帖

885

积分

金牌会员

积分
885
发表于 2022-8-16 20:38:13 | 显示全部楼层
eric2013 发表于 2022-8-16 12:18
对,必须得用libUSB的驱动。就是用那个zadig小软件安装覆盖下就行

好的谢谢硬汉
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2022-11-1 15:51:57 | 显示全部楼层
有没有人知道为啥emwin那个X按钮,点了没有产生消息,就是右上角哪那个关闭图标,看不到源码不知道咋回事.
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
 楼主| 发表于 2022-11-2 10:20:32 | 显示全部楼层
大西瓜 发表于 2022-11-1 15:51
有没有人知道为啥emwin那个X按钮,点了没有产生消息,就是右上角哪那个关闭图标,看不到源码不知道咋回事.

这个是个图示,不是实际按钮,退出的话,在显示区右击,点击EXIT
回复

使用道具 举报

0

主题

12

回帖

12

积分

新手上路

积分
12
发表于 2022-11-5 09:34:07 | 显示全部楼层
硬汉哥:我在WIN11下测试了验证了一下上面的上位机程序:
1.按教程先运行zadig,直接安装libusb-win32(v1.2.6.0),显示安装成功
2.运行USB BULK上位机.exe,弹出“找不到Llibusb0.dll”错误,应用无法打开。
请问以上是什么问题?安装libusb没有成功吗?上位机程序都能识别出哪些USB设备?谢谢!
回复

使用道具 举报

0

主题

12

回帖

12

积分

新手上路

积分
12
发表于 2022-11-5 09:54:04 | 显示全部楼层
重新看了教程的USB驱动安装部份,将一个打印机设备连接到PC的USB口,从zadig中可以识别出设备,然后选择该设备按教程进行替换安装libusb-win32(v1.2.6.0),提示安装成功后,启动USB BULK上位机.exe,程序能正常打开,但是打开USB设备时出现:查找设备失败,VID和PID不匹配,所有的描述符信息全部显示 ?号。这里有个问题:
1.是否USB BULK上位机.exe只有识别某种类型的USB设备,USB上位机是通过哪些参数据来识别和筛选特定的USB设备呢?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
 楼主| 发表于 2022-11-5 10:10:18 | 显示全部楼层
ldh2020 发表于 2022-11-5 09:34
硬汉哥:我在WIN11下测试了验证了一下上面的上位机程序:
1.按教程先运行zadig,直接安装libusb-win32(v1. ...

提示这个说明没有安装成功,电脑重启下试试,我现在用的也是Win11 22H2
回复

使用道具 举报

0

主题

12

回帖

12

积分

新手上路

积分
12
发表于 2022-11-5 17:05:21 | 显示全部楼层
谢谢硬汉哥回复!试了其它非STM32的国产MCU的USB设备连接,也能成功打开设备!
回复

使用道具 举报

0

主题

12

回帖

12

积分

新手上路

积分
12
发表于 2022-11-5 21:01:53 | 显示全部楼层
硬汉哥:请教一个问题,基于MDK RTE环境开发时是需要所使用的MCU一定要有相关的支持包才行吗?因为我现在用的是国产的32位MCU,能够使用MDK RTE环境开发吗?谢谢!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
 楼主| 发表于 2022-11-6 10:15:39 | 显示全部楼层
ldh2020 发表于 2022-11-5 17:05
谢谢硬汉哥回复!试了其它非STM32的国产MCU的USB设备连接,也能成功打开设备!

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105914
QQ
 楼主| 发表于 2022-11-6 10:16:13 | 显示全部楼层
ldh2020 发表于 2022-11-5 21:01
硬汉哥:请教一个问题,基于MDK RTE环境开发时是需要所使用的MCU一定要有相关的支持包才行吗?因为我现在用 ...


可以用,RTX内核可以方便添加。添加中间件的话,要看下是否有对应的CMSIS-Driver驱动,没有的话,可以在ST的基础上修改。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-28 23:27 , Processed in 0.477178 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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