[MCU] 【CH32X035评估板】--作USB Host 对U盘操作

dirty   2024-1-18 00:03 楼主

        本篇讲述CH32X035做USB Host对U盘进行 创建/打开/读/写/删等操作。首先要对开发板USB部分进行了解。

一.了解开发板USB,硬件准备

1.开发板两个USB口即Type-C,Type-A,它们USB 数据线是并联方式,如下图。特别注意 Type-A USB口供电是需要外接供电的。

1_USB原理图.png
图1:USB接口原理图

 2.硬件准备

        因使用到USB Type-A口,将VBUS与VBUS1短接(因VBUS1对VBUS二极管截止不通),以满足此USB口有供电。将U盘插上USB Type-A口。WCH-LinkE
接5V给开发板供电。连接好后硬件图如下

2_硬件开发板接线准备.jpg
图2:开发板硬件准备

二.代码准备及解读与测验

1.文件解读

        打开Host_Udisk工程如下图。可以看到Udisk_Lib文件夹下是WCH提供的U盘文件系统库文件,包含部分源码和封装库libRV3UFI.a 。User文件夹下Udisk_*.c基本上按DEF_TEST_FUNC_NUM宏选择的对应功能分开的独立源文件。

3_工程代码.png
图3:工程结构及代码部分解读
 

2.代码解读

        通过DEF_TEST_FUNC_NUM宏修改可以调试测验5种操作。Udisk_USBH_Initialization为USB Host初始化,包含硬件和库的初始化;UDisk_USBH_DiskReady检查U盘是否准备好.这之后在UDisk_USBH_ByteOperation里有打开文件,如没有则创建NEWFILE.C,修改文件属性,读、写文件,关闭文件等。

3.测验

        编译烧录,日志如下

4_log日志.png
图4:USB Host按字节读写改日志

        同时,在U盘里可看到创建的 NEWFILE.C 及其配置属性与设置一致。

5_U盘.png
图5:U盘文件

 

 

        小结:通过此工程,可以跟进一步熟悉应用WCH 的USB Host 应用,一些细节可以根据需要探索和优化。

 

本帖最后由 dirty 于 2024-1-18 00:05 编辑

回复评论 (2)

ype-A USB口供电是需要外接供电的也是比较正常的

点赞  2024-1-19 07:47
引用: Jacktang 发表于 2024-1-19 07:47 ype-A USB口供电是需要外接供电的也是比较正常的

两个USB口是并联的,Type C电源对Type A是截止的,用A口的话需从其他地方接电,是个小细节,梳理下就知道处理应对了

点赞  2024-1-20 23:20
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复