硬汉嵌入式论坛

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

[USB] RL-USB教程开工制作,各种常用USB通信协议和上位机案例统统整出来,更新至第9章(2022-12-05)

  [复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
 楼主| 发表于 2021-3-5 08:20:31 | 显示全部楼层
Azerzrz 发表于 2021-3-4 16:32
求教,例程RL-USB Template烧进板子后,电脑显示 无法识别的usb设备,是什么原因呢?

用的V7板子吗。
回复

使用道具 举报

1

主题

6

回帖

9

积分

新手上路

积分
9
发表于 2021-3-10 13:51:24 | 显示全部楼层

是的!用的安富莱stm32-v7的开发板
回复

使用道具 举报

1

主题

6

回帖

9

积分

新手上路

积分
9
发表于 2021-3-10 13:52:17 | 显示全部楼层

是的!用的安富莱stm32-v7的开发板
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
 楼主| 发表于 2021-3-10 14:50:08 | 显示全部楼层
Azerzrz 发表于 2021-3-4 16:32
求教,例程RL-USB Template烧进板子后,电脑显示 无法识别的usb设备,是什么原因呢?

注意左下角的跳线帽设置,不要短接到PA11和PA12上。
回复

使用道具 举报

1

主题

6

回帖

9

积分

新手上路

积分
9
发表于 2021-3-10 16:10:23 | 显示全部楼层
eric2013 发表于 2021-3-10 14:50
注意左下角的跳线帽设置,不要短接到PA11和PA12上。

没有短接,烧录程序后串口打印都正常,但电脑显示无法识别
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
 楼主| 发表于 2021-3-10 17:44:48 | 显示全部楼层
Azerzrz 发表于 2021-3-10 16:10
没有短接,烧录程序后串口打印都正常,但电脑显示无法识别

是不是被你电脑上其它USB驱动文件给识别了,要防止这种情况。
特别是你之前安装过相同的PID VID驱动文件时
回复

使用道具 举报

4

主题

24

回帖

36

积分

新手上路

积分
36
发表于 2021-3-24 14:37:58 | 显示全部楼层
请教硬汉哥个问题,用USB的CDC类实现虚拟串口速率能达到1MB/S以上吗?是用非0端口就可以吗
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
 楼主| 发表于 2021-3-24 15:47:37 | 显示全部楼层
13432890113 发表于 2021-3-24 14:37
请教硬汉哥个问题,用USB的CDC类实现虚拟串口速率能达到1MB/S以上吗?是用非0端口就可以吗

串口本身做这么大数据量还是比较辛苦的,可以考虑纯bulk模式
回复

使用道具 举报

4

主题

24

回帖

36

积分

新手上路

积分
36
发表于 2021-3-24 17:37:16 | 显示全部楼层
eric2013 发表于 2021-3-24 15:47
串口本身做这么大数据量还是比较辛苦的,可以考虑纯bulk模式

虚拟串口速率不是还是我们USB的速率吗,这里用CDC类速率远低于全速USB主要是因为什么,硬汉哥清楚吗
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
 楼主| 发表于 2021-3-24 17:48:51 | 显示全部楼层
13432890113 发表于 2021-3-24 17:37
虚拟串口速率不是还是我们USB的速率吗,这里用CDC类速率远低于全速USB主要是因为什么,硬汉哥清楚吗

使用了虚拟串口,你上位机就不方便使用libUSB,WinUSB之类的API直接操作了,而是用的串口调试组件,性能太有限了。

虚拟串口并不慢,也是bulk传输,你上位机使用libusb驱动来操作这个设备就可以了。
回复

使用道具 举报

4

主题

24

回帖

36

积分

新手上路

积分
36
发表于 2021-3-24 18:03:22 | 显示全部楼层
eric2013 发表于 2021-3-24 17:48
使用了虚拟串口,你上位机就不方便使用libUSB,WinUSB之类的API直接操作了,而是用的串口调试组件,性能 ...

我的上位机是跑Android,想着CDC方便些,如果改为bulk模式的话,速率是跟全速USB差不多,能达到1.5MB/S吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
 楼主| 发表于 2021-3-24 18:14:07 | 显示全部楼层
13432890113 发表于 2021-3-24 18:03
我的上位机是跑Android,想着CDC方便些,如果改为bulk模式的话,速率是跟全速USB差不多,能达到1.5MB/S吗 ...

CDC是USB类,BULK是通信模式。

对于USB2.0全速来说,1.5MB是论证值,一般也就500KB-1MB的样子。

回复

使用道具 举报

4

主题

24

回帖

36

积分

新手上路

积分
36
发表于 2021-3-25 09:16:41 | 显示全部楼层
eric2013 发表于 2021-3-24 18:14
CDC是USB类,BULK是通信模式。

对于USB2.0全速来说,1.5MB是论证值,一般也就500KB-1MB的样子。

明白,感谢硬汉哥
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2021-5-8 13:47:59 | 显示全部楼层
请问后期会有 usb video host 的例程么
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
 楼主| 发表于 2021-5-9 08:01:44 | 显示全部楼层
yiwp 发表于 2021-5-8 13:47
请问后期会有 usb video host 的例程么

争取搞下。
回复

使用道具 举报

36

主题

142

回帖

255

积分

高级会员

积分
255
发表于 2021-5-10 09:17:59 | 显示全部楼层
目前使用RTX4 的RL-USB在U盘存在两个问题
1.识别率低,插U盘初始化几次才成功连接上一次
2.上电初始化时必须要插U盘,连接成功后才能热插拔
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
 楼主| 发表于 2021-5-10 11:51:20 | 显示全部楼层
takent 发表于 2021-5-10 09:17
目前使用RTX4 的RL-USB在U盘存在两个问题
1.识别率低,插U盘初始化几次才成功连接上一次
2.上电初始化时 ...


可以考虑上新版了,你可以测测。

基于STM32F407的RTX5+RL-USB+RL-FlashFS+RL-TCPnet+emWin6.x综合模板发布,含MDK AC5和AC6,升级至V1.1(2021-03-08)
http://www.armbbs.cn/forum.php?m ... 4182&fromuid=58
(出处: 硬汉嵌入式论坛)

基于STM32F429的RTX5+RL-USB+RL-FlashFS+RL-TCPnet+emWin6.x综合模板发布,含MDK AC5和AC6,,升级至V1.1(2021-03-08)
http://www.armbbs.cn/forum.php?m ... 4181&fromuid=58
(出处: 硬汉嵌入式论坛)

基于STM32H7的RTX5+RL-USB+RL-FlashFS+RL-TCPnet+emWin6.x综合模板发布,含MDK AC5和AC6,升级至V1.1(2021-03-01)
http://www.armbbs.cn/forum.php?m ... 4012&fromuid=58
(出处: 硬汉嵌入式论坛)


回复

使用道具 举报

36

主题

142

回帖

255

积分

高级会员

积分
255
发表于 2021-5-10 11:55:20 | 显示全部楼层
有U盘的例程吗
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
 楼主| 发表于 2021-5-11 07:49:14 | 显示全部楼层

楼上已发,都带U盘。
回复

使用道具 举报

4

主题

20

回帖

32

积分

新手上路

积分
32
发表于 2021-5-19 13:47:25 | 显示全部楼层
硬汉哥,hid的那个有什么上位机可以用来发送命令吗?能识USB输入设备了,怎么测试通信呀?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
 楼主| 发表于 2021-5-20 08:22:29 | 显示全部楼层
向北 发表于 2021-5-19 13:47
硬汉哥,hid的那个有什么上位机可以用来发送命令吗?能识USB输入设备了,怎么测试通信呀?

可以使用自定义HID类,上位机使用MDK安装目录提供的那个。
回复

使用道具 举报

73

主题

678

回帖

897

积分

金牌会员

积分
897
发表于 2021-5-28 13:54:21 | 显示全部楼层
硬汉哥,从你专业角度看,RL-USB和RL-Flash有移植到IAR平台开发的可能性吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
 楼主| 发表于 2021-5-28 14:16:26 | 显示全部楼层
庄永 发表于 2021-5-28 13:54
硬汉哥,从你专业角度看,RL-USB和RL-Flash有移植到IAR平台开发的可能性吗?

这个库支持IAR有点麻烦
回复

使用道具 举报

73

主题

678

回帖

897

积分

金牌会员

积分
897
发表于 2021-5-28 14:53:05 | 显示全部楼层
eric2013 发表于 2021-5-28 14:16
这个库支持IAR有点麻烦

感谢。目前有一个项目需要用SPI NorFlash模拟优盘,STM32往里面写东西,保存好后可以直接接在电脑上像用U盘一样拷贝文件到电脑。找了下好像只有FatFs支持,但是FatFs好像没做Flash磨损均衡,硬汉哥有推荐的方案吗?
回复

使用道具 举报

41

主题

214

回帖

337

积分

高级会员

积分
337
发表于 2021-5-28 16:32:35 | 显示全部楼层
庄永 发表于 2021-5-28 14:53
感谢。目前有一个项目需要用SPI NorFlash模拟优盘,STM32往里面写东西,保存好后可以直接接在电脑上像用U ...

lilltle-fs倒是支持磨损,可是不是像U盘那样 rl-flash对于spi flash是不支持的. 剩下的就是FileX了,我没测试过.
回复

使用道具 举报

73

主题

678

回帖

897

积分

金牌会员

积分
897
发表于 2021-5-28 17:54:35 | 显示全部楼层
snakeemail 发表于 2021-5-28 16:32
lilltle-fs倒是支持磨损,可是不是像U盘那样 rl-flash对于spi flash是不支持的. 剩下的就是FileX了,我没 ...

好的,感谢。FatFs不敢这样用在产品上。不知道最后是不是得找老板申请时间自己撸一个。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
 楼主| 发表于 2021-5-29 08:30:17 | 显示全部楼层
snakeemail 发表于 2021-5-28 16:32
lilltle-fs倒是支持磨损,可是不是像U盘那样 rl-flash对于spi flash是不支持的. 剩下的就是FileX了,我没 ...

FileX是通过LevelX支持的。擦写均衡是标配

https://github.com/azure-rtos/levelx
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
 楼主| 发表于 2021-5-29 08:30:24 | 显示全部楼层
庄永 发表于 2021-5-28 17:54
好的,感谢。FatFs不敢这样用在产品上。不知道最后是不是得找老板申请时间自己撸一个。

FileX是通过LevelX支持的。擦写均衡是标配

https://github.com/azure-rtos/levelx
回复

使用道具 举报

6

主题

42

回帖

60

积分

初级会员

积分
60
发表于 2021-9-26 10:28:40 | 显示全部楼层
老板,都2021年了,你们居然做的是 stdlib 标准库的例程。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
 楼主| 发表于 2021-9-26 17:21:56 | 显示全部楼层
中尴人 发表于 2021-9-26 10:28
老板,都2021年了,你们居然做的是 stdlib 标准库的例程。

本帖的例子是HAL的。。。。。H7没有标准库。。。。。F4板子配的例子也不是标准库的。。。。

RTX5的MDK RTE创建方式,默认只能HAL,想用标准库反倒有麻烦。。。。
回复

使用道具 举报

6

主题

42

回帖

60

积分

初级会员

积分
60
发表于 2021-9-28 00:25:34 | 显示全部楼层
eric2013 发表于 2021-9-26 17:21
本帖的例子是HAL的。。。。。H7没有标准库。。。。。F4板子配的例子也不是标准库的。。。。

RTX5的MDK ...

现在stdlib基本被抛弃了,。
看了 freertos的例程,好像是stdlib的
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
 楼主| 发表于 2021-9-28 00:36:48 | 显示全部楼层
中尴人 发表于 2021-9-28 00:25
现在stdlib基本被抛弃了,。
看了 freertos的例程,好像是stdlib的

FreeRTOS教程多少年了,2016年发布的,那个年代HAL还没有上线。

【安富莱】FreeRTOS操作系统教程发布,支持F103,F407和F429,配套145个例子,1200页教程
http://www.armbbs.cn/forum.php?mod=viewthread&tid=17658

对于学习FreeRTOS,并不影响。实际上我们的更新速度完全跟不上厂家的更新步伐,也没有必要去跟,做教程的时候FreeRTOS是8.X版本,现在都到10.X了,我们是不是要升级下,现在ST出了HAL库,我们是不是要更新下,以后再推出XX后,我们是不是还要更新下。现在还有个LL库,是不是LL库也要出个教程。

需要HAL库的例子可以到V5和V6的HAL库网盘检索FreeRTOS,或者V7的网盘检索FreeRTOS,都有HAL版的。
回复

使用道具 举报

18

主题

207

回帖

261

积分

高级会员

积分
261
发表于 2021-10-8 00:12:47 | 显示全部楼层
HI ERIC2013大大,

這個RL-USB有HOST的應用嗎??
之前好像有和您提過就是讓H7做USB-HOST
插上STM32F103的HID裝置,收F103傳過來的DATA
用THREADX做一個即時的 X-Y 曲線圖.

謝謝.
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
 楼主| 发表于 2021-10-8 09:36:40 | 显示全部楼层
inceboy 发表于 2021-10-8 00:12
HI ERIC2013大大,

這個RL-USB有HOST的應用嗎??

有host功能。

基于STM32H7的RTX5+RL-USB+RL-FlashFS+RL-TCPnet+emWin6.x综合模板发布,含MDK AC5和AC6,升级至V1.1(2021-03-01)
http://www.armbbs.cn/forum.php?m ... 4012&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

0

主题

68

回帖

68

积分

初级会员

积分
68
发表于 2021-10-12 15:13:19 | 显示全部楼层
mark RL-USB教程
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2021-12-20 09:56:29 | 显示全部楼层
请教下,RL-USB在RTE下,一个interface下面只有8个endpoint的设置,如果超过8个怎么办?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
 楼主| 发表于 2021-12-21 08:42:24 | 显示全部楼层
lifetrier 发表于 2021-12-20 09:56
请教下,RL-USB在RTE下,一个interface下面只有8个endpoint的设置,如果超过8个怎么办?

这个的个数多少是芯片决定的
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2021-12-21 17:05:29 | 显示全部楼层
eric2013 发表于 2021-12-21 08:42
这个的个数多少是芯片决定的

感谢兄台的回复。可能我没表达清楚,比如STM32H743支持“9 bidirectional endpoints (including EP0)”,这样的话,除了EP0还,应该还可以选8个IN+8个OUT。我的程序需要配置5个IN+5个OUT,但例程里面只有8个可以配置项,每个要么只能配置成IN或OUT。多谢!

例程端点配置

例程端点配置


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
 楼主| 发表于 2021-12-22 09:22:11 | 显示全部楼层
lifetrier 发表于 2021-12-21 17:05
感谢兄台的回复。可能我没表达清楚,比如STM32H743支持“9 bidirectional endpoints (including EP0)”, ...

可以选择的,可以选择IN或者OUT
回复

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
发表于 2022-1-29 15:42:21 | 显示全部楼层
大佬给力!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 06:42 , Processed in 0.315066 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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