打印
[RISC-V MCU 应用开发]

CH32V307移植TinyUSB之设备HID(裸机)

[复制链接]
42|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
momoto|  楼主 | 2025-1-13 15:35 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

[i=s] 本帖最后由 momoto 于 2025-1-13 15:53 编辑 [/i]<br /> <br />

最近打算学习下USB协议栈,看来看去选了TinyUSB。搜了下好像基于沁恒CH32系列的移植不是很多,本次移植也是在参考了MM32系列的移植教程下,进行了移植。所以写下这篇文章,加深**和备忘。

TinyUSB下载和目录

下载地址:GITHUB 主要用到src、hw、examples三个文件夹中的内容

1.png

移植

新建一个基础项目

  • 将TinyUSB文件夹中的src文件夹全部复制到项目中
  • 将hw-->bsp-->ch32v307文件夹复制到项目中
  • 将examples-->device-->hid_composite文件夹中的所有文件,复制到项目中User文件夹中(可提前删除User文件夹中的所有文件,只保留我们复制的文件)

删除Debug文件夹,我的项目结构如下

2.png 将相关文件夹加入到编译路径,同时删除原项目中Debug的路径

3.png

family.c 文件中修改Button和LED的GPIO口,可也按照例程中的相关设定连接Button和LED对应的GPIO。

4.png 之后可以尝试编译下项目,将报错的代码行进行修改,这步没有截图。主要报错点是头文件的引入,将相关 "bsp/board_api.h" 修改为 "board_api.h" 即可。

测试

将编译后的文件下载到开发板,将数据线TYPE-C口插入开发板P6,另一端插入电脑。电脑此时可以正常枚举出HID设备,按USER按键鼠标指针沿斜线进行滑动,LED灯间隔1s进行闪烁。

5.png

总结

这次测试只是一个简单的移植,未做其他相关深入的研究,还有很多需要学习,USB协议太复杂了,本人新手小白,有错误的地方还请大家指出。

upload 附件:22-TinyUSB_HID.zip

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

16

帖子

0

粉丝