一个USB系统包括USB主机(USB HOST)、USB外设(USB DEVICE)和USB连接三个部分,USB外设又可以分为USB功能外设(USB FUNCTION)和USB集线器(USB HUB) 一个USB系统只能有一个USB主机,但USB主机通过连接USB集线器可以扩展USB端口数量,最多可以有127个USB从机,USB主机负责控制所有的USB外设,而USB外设接受USB主机的控制来实现...
第一步,我们来配置USB的连接端口,我们连接中找到USB_OTG_FS,在右侧的选项中选择Host_Only,如下图所示: 然后在Middleware中找到USB_HOST,并在右侧“Class for FS IP”中选择“Mass Storage Host Class”配置为大容量存储设备。如下图所示: 接着在Middleware中找到FATFS,并在右侧选中“USB ...
使用STM32 CubeMx生成USB HOST及fatfs代码框架,实现STM32F105RC访问U盘的功能,目前出现的问题是程序只能识别2G U盘,4G因为没有现成U盘未测试,8G和16G报设备未就绪,无法枚举设备。在开启USB Host log以后使用手上8G 和16G U盘测试,日志如下图所示。 现在能发现的问题是,USB IP核在检测到U盘插入以后,会通过底层硬...
MX_FATFS_Init();/* init code for USB_HOST */ MX_USB_HOST_Init();/* USER CODE BEGIN 5 ...
选择USB_HOST,配置IP为MSC(大容量存储设备)模式 3、FATFS配置 选择FATFS,配置Mode为USB Disk 支持简体中文,使能长文件名,缓存放在栈中 4、生成TrueSTUDIO工程 四、添加测试程序 需要引用的变量 externApplicationTypeDef Appli_state;externUSBH_HandleTypeDef hUsbHostFS;externcharUSBHPath[4];...
CLASS分组下的.c文件,直接拷贝ST官方USB HOST库,我们重点要修改的是USB_APP文件夹下面的代码和FATFS...
將使能USB外設,選擇Host_Only(FS),選擇默認配置。 此處只為生成基本的USB Host讀取大容量設備代碼,FATFS可不用添加。 在中斷向量表中使能USB中斷,不打開USB無法工作;配置完畢後生成代碼。 配置完畢,打開工程文件,可以看到While主循環中只有MX_USB_HOST_Process();USB Host將在這個處理函數中完成主機啟動設備,設備連...
根据其原型定义以及我们USB大容量存储设备的要求,我们可以实现磁盘驱动器初始化函数,但这里我们其实不需要,因为在USB HOST库中已经完成了初始化,所以直接返回正确就可以了。 /*用于USBH的初始化函数*/staticDSTATUSUSBH_initialize(BYTE lun){//USB HOST库中已经完成了初始化returnRES_OK; ...
基于:STM32USB官方例程移植。重点:在USB_APP文件夹下修改代码,使用USBH_MSC_fatfs.c等底层接口函数实现读写U盘功能。主要函数:USBH_USR_MSC_Application、USBH_UDISK_Read、USBH_UDISK_Write,用于U盘读写操作。注意事项:移植过程中需修改USB_APP代码,保持USB_OTG和USB_HOST文件夹下代码的不变...
if(USBH_MSC_UnitIsReady(&hUsbHostFS,lun)) { res=RES_OK; } else { res=RES_ERROR; } returnres; } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 2.2、初始化设备函数 存储媒介初始化函数disk_initialize。用于对磁盘设备进行初始化,在ff.c文...