一种基于STM32F7的USB Host MSC实验方法技术

技术编号:19511295 阅读:27 留言:0更新日期:2018-11-21 07:47
本发明专利技术公开了一种基于STM32F7的USB Host MSC实验方法,系统包括主板、最小核心模块和各种外设模块;主板接口丰富,设计上能减少维护成本;核心模块能够替换,以适应将来处理器的升级;外设模块资源丰富,几乎涵盖了所有常用的教学外设。本发明专利技术是在标准的HAL库以及相应的中间件的基础上完成的。具有良好的可移植性、通用性。并且,USB例程将USB Device实验中的MSC例程和USB Device实验中的VCP例程有机结合为一个例程,增加了例程的难度和学生的探索兴趣。另外,本实验的例程具有良好的可移植性,在USB Host的实验中,不同于现有的例程,不用LCD作为最终的显示和调试手段,采用了更为通用的串口作为调试显示方式,能避免由于没有LCD或者使用不同的LCD造成程序的无法正确运行显示。

【技术实现步骤摘要】
一种基于STM32F7的USBHostMSC实验方法
本专利技术属于嵌入式
,具体涉及一种基于STM32F7的USB实验系统及方法。
技术介绍
实践教学是嵌入式教学中不可少的环节,嵌入式的教学主要可以分为带Linux或者Android操作系统的平台的教学以及不带操作系统的裸机嵌入式平台的教学。目前不带操作系统的裸机嵌入式平台的教学中ST公司的STM32系列处理器占据大部分市场,使用最为广泛。ST系列处理器属于ARMCortex-M系列处理器。在ARM处理器中,目前使用最多的是ARM7系列、ARM9系列、ARM9E系列、ARM10E系列、ARM11系列以及Cortex系列。Cortex系列属于ARMv7架构,而Cortex系列处理器又分为A、R、M三个系列,“A”系列面向尖端的基于虚拟内存的操作系统和用户应用;“R”系列针对实时系统;“M”系列对微控制器。学习嵌入式,合适的开发板,标准的例程,详细的解读是必不可少的。现在市场上有许多做嵌入式开发板教学的公司,而做STM32系列开发板的公司,如野火,正点原子,微雪等等,往往是将ST的HAL库进行修改之后自成体系,相互之间的兼容性不是很好,只能在自己的开发板上面使用。
技术实现思路
为了解决上述技术问题,本专利技术提供了一种基于STM32F7的USB实验系统及方法,能够进行USBFS速率的USBDevice和USBHost两大类实验。本专利技术提供了一种基于STM32F7的USB实验系统,其特征在于:基于STM32F7的USBDeviceCDC和MSC系统包括SD卡、STM32F7处理器、PC;所述SD卡和STM32F7处理器之间通过SDMMC接口连接在一起,所述STM32F7处理器的USBFS接口和PC之间通过USB线连接起来。本专利技术还提供了一种基于STM32F7的USB实验系统,其特征在于:基于STM32F7的USBHostMSC实验系统包括U盘、STM32F7处理器、PC;所述U盘和STM32F7处理器之间通过USBFSOTG口连接,所述PC和STM32F7处理器之间通过串口进行连接。本专利技术还提供了一种基于STM32F7的USB实验系统,其特征在于:基于STM32F7的USBHostHID实验系统包括USB鼠标、USB键盘、STM32F7处理器、PC;所述USB鼠标、USB键盘和STM32F7处理器之间通过USBFSOTG口连接,PC和STM32F7处理器之间通过串口进行连接。本专利技术提供了一种基于STM32F7的USB实验方法,其特征在于:基于STM32F7的USBDevice实验,包括以下步骤:步骤1:将SD卡和STM32F7处理器的SDMMC接口连接在一起,将STM32F7处理器的USBFS接口通过USB线和PC的USB接口连接起来;步骤2:初始化HAL库,重启所有外部设备,初始化Flash接口,初始化Systick;步骤3:配置并且初始化STM32系统时钟;步骤4:使能SD卡和USBFS的引脚的时钟;步骤5:初始化USB;该步骤包括初始化USB的底层配置,初始化USB设备库,添加支持类(VCP类),并且启动设备库,于是USB就首先就初始化为VCP类设备;步骤6:重启STM32F7处理器,此时PC设备管理器将STM32F7USB设备识别为虚拟串口设备(比如USB虚拟串口COM18);步骤7:打开PC上的串口终端,配置串口参数(包括波特率、停止位、校验位、COM口),打开串口;发送非关键数据(非0x02数据)给STM32F7处理器,此时STM32F7虚拟串口如果接收到的数据不是关键数据,也不是0x00,就回显给PC;发送关键数据(0x02数据)给STM32F7处理器,此时STM32F7处理器接收的数据是关键数据;步骤8:若STM32F7处理器接受到了关键数据数据,初始化SD卡以及USB的引脚端口时钟;步骤9:初始化SD卡;步骤10:重新初始化设备库,取消原来的CDC设备库,将USB和CDC类解绑。重新初始化USB,重新初始化USB包括初始化USB的底层配置,初始化USB设备库,添加支持类(MSC类),并且启动设备库,于是USB就首先就初始化为MSC类设备;步骤11:PC设备管理器识别出USB大容量存储设备,在PC中读出SD卡盘符,并对其进行读写以及格式化操作,这里注意只能对其格式化为FAT文件系统。本专利技术还提供了一种基于STM32F7的USB实验方法,其特征在于:基于STM32F7的USBHostMSC实验,包括以下步骤:步骤1:使能CPUCache;步骤2:初始化HAL库,重启所有外部设备,初始化Flash接口,初始化Systick;步骤3:配置系统时钟;步骤4:使能USB及USART3的GPIO时钟;步骤5:初始化串口DMA;步骤6:初始化USART3;步骤7:初始化LED、按键以及USBHostMSC菜单;步骤8:初始化USB,包括初始化USB主机库,添加支持类(MSC类),启动USBHost主机库;步骤9:执行USBHost不同状态的处理函数,不同的状态包括HOST_IDLE、HOST_DEV_WAIT_FOR_ATTACHMENT、HOST_DEV_ATTACHED、HOST_ENUMERATION、HOST_INPUT、HOST_SET_CONFIGURATION、HOST_CHECK_CLASS、HOST_CLASS_REQUEST、HOST_CLASS、HOST_DEV_DISCONNECTED、HOST_ABORT_STATE;步骤10:执行USBHostMSC菜单处理函数;首先如果msc_demo.state状态为MSC_DEMO_START,等待用户按键,用户按键后进入MSC_DEMO_FILE_OPERATIONS状态,执行MSC_File_Operations();创建USBHost.txt文件,并向USBHost.txt文件中写入字符串“USBHostLibrary:MassStorageExample”并读出显示在串口终端上,并继续等待按键按下,当按键按下后,执行Explore_Disk("0:/",1);显示U盘的目录文件结构。本专利技术还提供了一种基于STM32F7的USB实验方法,其特征在于:基于STM32F7的USBHostHID实验,包括以下步骤:步骤1:使能CPUCache;步骤2:初始化HAL库,重启所有外部设备,初始化Flash接口,初始化Systick;步骤3:配置系统时钟;步骤4:使能USB及USART3的GPIO时钟;步骤5:初始化串口DMA;步骤6:初始化USART3;步骤7:初始化LED、按键以及USBHostHID菜单;步骤8:初始化USB;包括初始化USB主机库,添加支持类(HID类),启动USBHost主机库;步骤9:执行USBHost不同状态的处理函数,不同的状态包括HOST_IDLE、HOST_DEV_WAIT_FOR_ATTACHMENT、HOST_DEV_ATTACHED、HOST_ENUMERATION、HOST_INPUT、HOST_SET_CONFIGURATION、HOST_CHECK_CLASS、HOST_CLASS_REQUEST、HOST_CLASS、HOST_DEV本文档来自技高网...

【技术保护点】
1.一种基于STM32F7的USB Host MSC实验方法,应用于基于STM32F7的USB Host MSC实验系统中;所述系统包括U盘、STM32F7处理器、PC;所述U盘和STM32F7处理器之间通过USB FS OTG口连接,所述PC和STM32F7处理器之间通过串口进行连接;其特征在于,所述方法包括以下步骤:步骤1:使能CPU Cache;步骤2:初始化HAL库,重启所有外部设备,初始化Flash接口,初始化Systick;步骤3:配置系统时钟;步骤4:使能USB及USART3的GPIO时钟;步骤5:初始化串口DMA;步骤6:初始化USART3;步骤7:初始化LED、按键以及USB Host MSC菜单;步骤8:初始化USB,包括初始化USB主机库,添加MSC类,启动USB Host主机库;步骤9:执行USB Host不同状态的处理函数,不同的状态包括HOST_IDLE、HOST_DEV_WAIT_FOR_ATTACHMENT、HOST_DEV_ATTACHED、HOST_ENUMERATION、HOST_INPUT、HOST_SET_CONFIGURATION、HOST_CHECK_CLASS、HOST_CLASS_REQUEST、HOST_CLASS、HOST_DEV_DISCONNECTED、HOST_ABORT_STATE;步骤10:执行USB Host MSC菜单处理函数;首先如果msc_demo.state状态为MSC_DEMO_START,等待用户按键,用户按键后进入MSC_DEMO_FILE_OPERATIONS状态,执行MSC_File_Operations();创建USBHost.txt文件,并向USBHost.txt文件中写入字符串“USB Host Library:Mass Storage Example”并读出显示在串口终端上,并继续等待按键按下,当按键按下后,执行Explore_Disk("0:/",1);显示U盘的目录文件结构。...

【技术特征摘要】
1.一种基于STM32F7的USBHostMSC实验方法,应用于基于STM32F7的USBHostMSC实验系统中;所述系统包括U盘、STM32F7处理器、PC;所述U盘和STM32F7处理器之间通过USBFSOTG口连接,所述PC和STM32F7处理器之间通过串口进行连接;其特征在于,所述方法包括以下步骤:步骤1:使能CPUCache;步骤2:初始化HAL库,重启所有外部设备,初始化Flash接口,初始化Systick;步骤3:配置系统时钟;步骤4:使能USB及USART3的GPIO时钟;步骤5:初始化串口DMA;步骤6:初始化USART3;步骤7:初始化LED、按键以及USBHostMSC菜单;步骤8:初始化USB,包括初始化USB主机库,添加MSC类,启动USBHost主机库;步骤9:执行USBHost不同状态的处理函数,不同的状态包括HOST_IDLE、HOST_DEV_WAIT_FOR_ATTACHMENT、HOST_DEV_ATTACHED、HOST_ENUMERATION、...

【专利技术属性】
技术研发人员:巩朋成李仄立黄翔包泽胜王建
申请(专利权)人:湖北工业大学
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1