ercircle 发表于 2025-4-8 09:29:31

USB拓展库及使用示例 | 这个贴问USB,基本帮您把USB程序开发完成

在本贴问USB,基本帮您把USB程序开发完成
永远使用 最新的 USB 库函数
===请永远从官网下载使用最新的USB库
深圳国芯人工智能有限公司-库函数

USB拓展库及使用示例,欢迎提供建议
在官方现有USB_LIB库接口的基础上开放更多接口,
以提高USB库的灵活性,支撑快速开发复合型USB设备。

拓展库用例:


非正式发布版本,大家可测试使用,用于产品需谨慎。




==========================================================
更新记录:
V20250610:
1.增加用例3.2.CDC键盘鼠标扩展
2.增加用例3.3.HID键盘鼠标扩展+CDC

ercircle 发表于 6 天前

有朋友问,键盘 / 鼠标 例程 增加 一个CDC 可以吗,当然可以!

修改方案有两个,分别发出来给大家参考:
3.2.CDC键盘鼠标扩展:直接将HID接口替换为CDC虚拟串口
这样改比较简单,只需要给键盘的EP端点换个位置就行,
因为扩展库里CDC默认占用EP1 IN、EP1 OUT、EP2 IN:



ercircle 发表于 6 天前

3.3.HID 键盘 / 鼠标 扩展 + CDC:额外增加一个CDC,使用EP4 EP5来实现,并且可以和串口2通讯

步骤稍微多点,首先从“4.一个HID两个CDC”例程拷贝CDC扩展需要的代码

简单修改下接口对应关系和屏蔽串口一:

修改描述符端口号:



屏蔽串口1相关:


main文件主要修改点:




大功告成:


神农鼎 发表于 3 天前

调用USB库函数与上位机之间传数据的时候,一次传输的长度最多多少?
===HID协议一包64字节,
       CDC协议没有限制(库函数自动分包收发)

向上位机发送一个放在XDATA的1K字节的数据文件,用 printf_usb可以吗?
===可以

ercircle 发表于 2025-4-8 09:30:01

永远使用 最新的 USB 库函数

深圳国芯人工智能有限公司-库函数










ercircle 发表于 2025-4-8 09:35:02

0. HID_HelloWorld


1.CDC_HelloWorld


ercircle 发表于 2025-4-8 09:38:04

2. CDC与串口2通讯
注意下载频率选22.1184MHz,波特率默认 115200bps
实验箱需要接J18跳线帽才能和Ai8H通讯。





ercircle 发表于 2025-4-8 10:13:10

3. HID-键盘/鼠标 扩展






jwd 发表于 2025-4-8 10:42:20

{:4_174:}

ercircle 发表于 2025-4-8 11:59:38

4. 一个HID + 两个CDC
这个实验PID改为了0xFF09,和Ai8H串口工具保持一致
可根据波特率自适应调节主频,
如不需要注释掉Dynamic_Frequency宏即可。









ercircle 发表于 2025-4-8 12:21:40

5. CDC与虚拟仪器




虚拟仪器使用方法:
725


愚樵 发表于 2025-4-10 11:32:29

楼主好!
我这边有个疑问: 单独的usb转串口程序,单独的hid键盘程序工作正常。当2个程序移植到一起,usb转串口可以工作,键盘程序出现问题,按一次PAGEDOWN健,电脑就会连续翻页不停?独立键盘程序翻页正常。

ercircle 发表于 2025-4-10 11:34:42

愚樵 发表于 2025-4-10 11:32
楼主好!
我这边有个疑问: 单独的usb转串口程序,单独的hid键盘程序工作正常。当2个程序移植到一起,usb转 ...

使用哪个例程移植的?可以上传下工程我看看
页: [1] 2 3 4
查看完整版本: USB拓展库及使用示例 | 这个贴问USB,基本帮您把USB程序开发完成