【CH32X035评估板】--作USB Host 对U盘操作
[复制链接]
本帖最后由 dirty 于 2024-1-18 00:05 编辑
本篇讲述CH32X035做USB Host对U盘进行 创建/打开/读/写/删等操作。首先要对开发板USB部分进行了解。
一.了解开发板USB,硬件准备
1.开发板两个USB口即Type-C,Type-A,它们USB 数据线是并联方式,如下图。特别注意 Type-A USB口供电是需要外接供电的。
图1:USB接口原理图
2.硬件准备
因使用到USB Type-A口,将VBUS与VBUS1短接(因VBUS1对VBUS二极管截止不通),以满足此USB口有供电。将U盘插上USB Type-A口。WCH-LinkE
接5V给开发板供电。连接好后硬件图如下
图2:开发板硬件准备
二.代码准备及解读与测验
1.文件解读
打开Host_Udisk工程如下图。可以看到Udisk_Lib文件夹下是WCH提供的U盘文件系统库文件,包含部分源码和封装库libRV3UFI.a 。User文件夹下Udisk_*.c基本上按DEF_TEST_FUNC_NUM宏选择的对应功能分开的独立源文件。
图3:工程结构及代码部分解读
2.代码解读
通过DEF_TEST_FUNC_NUM宏修改可以调试测验5种操作。Udisk_USBH_Initialization为USB Host初始化,包含硬件和库的初始化;UDisk_USBH_DiskReady检查U盘是否准备好.这之后在UDisk_USBH_ByteOperation里有打开文件,如没有则创建NEWFILE.C,修改文件属性,读、写文件,关闭文件等。
3.测验
编译烧录,日志如下
图4:USB Host按字节读写改日志
同时,在U盘里可看到创建的 NEWFILE.C 及其配置属性与设置一致。
图5:U盘文件
小结:通过此工程,可以跟进一步熟悉应用WCH 的USB Host 应用,一些细节可以根据需要探索和优化。
|