USB_CDC虚拟串口+HID键盘, 只用1个USB口的复合设备
基于STC32G的USB_CDC虚拟串口+HID键盘, 只用1个USB口的复合设备===(挥泪附上源码),基于STC32的代码包里无数的USB代码
虽然很好上手,不过组合的应用不多,这里附上一个复合设备的组合应用。
主要就是通过代码包里的CDC协议和HID键盘移植了一下,最难的就是设备符和设备描述符:
1.设备符:复合设备的设备类型有严格要求
2.描述符需要增加对应的IAD描述,需要严格遵守一下格式:
const uint8_t Mouse_ConfigDescriptor =
{
配置描述符 //Configuration Descriptor 只能有1个
/*功能1 HID键盘*/
IAD描述符 //复合设备才有 在单接口的设备这个可以不要
接口1描述符 //Interface Descriptor
类描述符 //Class Desdriptor
端点描述符//Endpoint Descriptor
/*功能2 虚拟串口*/
IAD描述符 //复合设备才有 在单接口的设备这个可以不要
接口3描述符 //Interface Descriptor
类描述符 //Class Desdriptor
端点描述符//Endpoint Descriptor
/*如果有多个接口 下面还可以继续添加*/
...
}整体流程如下:
快下班了,具体的后面有空在写,代码附上
本帖最后由 STCAI 于 2023-9-2 10:18 编辑
注意:代码里的VID和PID不能随意使用,仅供参考,商用的话请向STC官方申请或自行购买,不然出现任何问题本作者概不负责! 感谢冲哥大爱{:4_196:} 冲哥威武!{:4_250:}
83 临时直接将HEX文件烧写在STC32F最小系统上,在I9+WIN11 的设备管理器中体验成功。。。
不知可否扩展到CDC+HID键盘+HID鼠标? 还是有个数限制? 那CDC+ HID鼠标呢? {:4_174:} autopccopy 发表于 2023-9-1 22:25
临时直接将HEX文件烧写在STC32F最小系统上,在I9+WIN11 的设备管理器中体验成功。。。
不知可否扩展到CDC+ ...
CDC+HID键盘+HID鼠标 完全没问题的,只是我这个产品只需要cdc虚拟串口+hid键盘所以只调试了个这部分的代码出来,朋友说需要我才刚好开源了一下的,
冲哥作品开箱啦
attach://24038.mp4
【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_250:} 学习学习,谢谢