找回密码
 立即注册
查看: 5239|回复: 26

USB_CDC虚拟串口+HID键盘, 只用1个USB口的复合设备

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:135
  • 最近打卡:2024-12-25 10:15:05

47

主题

1350

回帖

8058

积分

荣誉版主

冲哥视频教程和各种开源资料QQ交流群884047237,可群

积分
8058
QQ
发表于 2023-9-1 16:53:23 | 显示全部楼层 |阅读模式
基于STC32G的USB_CDC虚拟串口+HID键盘, 只用1个USB口的复合设备
===(挥泪附上源码),基于STC32的代码包里无数的USB代码
截图202309011644543633.jpg
虽然很好上手,不过组合的应用不多,这里附上一个复合设备的组合应用。
主要就是通过代码包里的CDC协议和HID键盘移植了一下,最难的就是设备符和设备描述符:

1.设备符:复合设备的设备类型有严格要求

截图202309011647539320.jpg


2.描述符需要增加对应的IAD描述,需要严格遵守一下格式:

  1. const uint8_t Mouse_ConfigDescriptor[Mouse_SIZ_CONFIG_DESC] =
  2. {
  3.   配置描述符   //Configuration Descriptor 只能有1个
  4.   /*功能1 HID键盘*/
  5.   IAD描述符    //复合设备才有 在单接口的设备这个可以不要
  6.                   接口1描述符   //Interface Descriptor
  7.                   类描述符    //Class Desdriptor
  8.                   端点描述符  //Endpoint Descriptor
  9.   
  10.   /*功能2 虚拟串口*/  
  11.   IAD描述符    //复合设备才有 在单接口的设备这个可以不要
  12.                   接口3描述符   //Interface Descriptor
  13.                   类描述符    //Class Desdriptor
  14.                   端点描述符  //Endpoint Descriptor
  15.   /*如果有多个接口 下面还可以继续添加*/
  16.   ...
  17. }
复制代码
整体流程如下:

5a3b5bba0cf140af97ec16a0cd5be1a3.png


快下班了,具体的后面有空在写,代码附上

163308kfaq60usa88iqfc5.jpg

STC32G_HID CDC.rar

227.15 KB, 下载次数: 437

回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:135
  • 最近打卡:2024-12-25 10:15:05

47

主题

1350

回帖

8058

积分

荣誉版主

冲哥视频教程和各种开源资料QQ交流群884047237,可群

积分
8058
QQ
发表于 2023-9-1 16:59:30 | 显示全部楼层
本帖最后由 STCAI 于 2023-9-2 10:18 编辑

注意:代码里的VID和PID不能随意使用,仅供参考,商用的话请向STC官方申请或自行购买,不然出现任何问题本作者概不负责!
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2023-9-1 17:06:46 | 显示全部楼层
感谢冲哥大爱
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:486
  • 最近打卡:2025-05-01 10:50:05
已绑定手机

6

主题

285

回帖

881

积分

荣誉版主

积分
881
发表于 2023-9-1 22:04:57 | 显示全部楼层
冲哥威武!

83
(仅供参考,欢迎探讨)
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:486
  • 最近打卡:2025-05-01 10:50:05
已绑定手机

6

主题

285

回帖

881

积分

荣誉版主

积分
881
发表于 2023-9-1 22:25:30 | 显示全部楼层
临时直接将HEX文件烧写在STC32F最小系统上,在I9+WIN11 的设备管理器中体验成功。。。

不知可否扩展到CDC+HID键盘+HID鼠标? 还是有个数限制? 那CDC+ HID鼠标呢?
stc32f-hid-cdc.jpg

点评

CDC+HID键盘+HID鼠标 完全没问题的,只是我这个产品只需要cdc虚拟串口+hid键盘所以只调试了个这部分的代码出来,朋友说需要我才刚好开源了一下的,  详情 回复 发表于 2023-9-3 10:42
(仅供参考,欢迎探讨)
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:135
  • 最近打卡:2024-12-25 10:15:05

47

主题

1350

回帖

8058

积分

荣誉版主

冲哥视频教程和各种开源资料QQ交流群884047237,可群

积分
8058
QQ
发表于 2023-9-3 10:42:29 | 显示全部楼层
autop*** 发表于 2023-9-1 22:25
临时直接将HEX文件烧写在STC32F最小系统上,在I9+WIN11 的设备管理器中体验成功。。。

不知可否扩展到CDC+ ...

CDC+HID键盘+HID鼠标 完全没问题的,只是我这个产品只需要cdc虚拟串口+hid键盘所以只调试了个这部分的代码出来,朋友说需要我才刚好开源了一下的,
回复 支持 2 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:488
  • 最近打卡:2025-05-01 11:54:45
已绑定手机

20

主题

293

回帖

4436

积分

论坛元老

积分
4436
发表于 2023-10-13 12:08:02 | 显示全部楼层
  冲哥作品开箱啦


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2023-10-19 21:47:05 | 显示全部楼层
USB 原理实战16课时】,视频教学已完美完成 ,大学标准课程
【10月/9号,10月/11号】USB基本原理教学视频, 已上传
10月/16号USB-HID 通信 实战】教学视频超级完美, 已上传
             是对着协议代码一行一行的讲解,认真听的都说会了
10月/18号下午USB-CDC虚拟串口 实战】教学视频, 已上传
             USB-CDC虚拟串口 / 就是最简单最强大的串口
             是对着协议代码一行一行的讲解,认真听的都说会了

请帮忙转发给可能需要:从0开始了解 USB 同学/同事/老师/研发人员
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=4526&extra=&page=1
=========================================
CAN 原理实战8课时】,教学视频,制作中,后续直接看视频回放


回复 支持 反对

使用道具 举报 送花

4

主题

3

回帖

42

积分

新手上路

积分
42
发表于 2023-10-21 09:16:27 | 显示全部楼层
冲哥牛!!!
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:449
  • 最近打卡:2025-05-01 08:38:15

12

主题

110

回帖

1072

积分

金牌会员

积分
1072
发表于 2023-11-14 23:33:04 | 显示全部楼层
学习学习,谢谢
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 01:33 , Processed in 0.130562 second(s), 123 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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