6、USB OTG测试 所谓的USB OTG就是这个USB口可以作为USBHost来使用,也可以作为USB Device来使用,但是同一时间只能配置为一种模式。手机上面的USB口即为这种USB OTG。 下面来测试一下这个USB OTG的功能。首先新建一个cubemx工程,按之前的方法配置好CPU,串口,时钟等,然后按照如下方法配置USB 1、USB-OTG-FS打开,选择Host-only,VBUS需要选上。这个VBUS是用于给连接在USB接口上的设备供电的,如果你的USB设备能够自行供电也可以不选。 2、在中间件那里选上USB-HOST选项,这里使用USB storage 3、在中间件那里选上FATFS选项,这里使用USB Disk 4、生成代码,堆栈尽可能选大一些,其余配置按照前面介绍的就行 用Keil打开工程,可以看到工程的结构,看到这个工程比较复杂,包含很多个文件,但是实际上需要修改的就只有main.c这个文件,增加功能性的函数。 其中所需要的函数都包含于名为ff.h的文件中,有关ff.h文件的用法请参考https://wenku.baidu.com/view/736efb40b307e87101f69651.html; 这里笔者演示一个从U盘的一个txt文件中读取一行字符的实验。在main.c的main函数的while(1)中增加如下的语句:
然后编译,下载到开发板上面实验 最后来演示一下,首先准备一个U盘,现在里面是没有这个demo.txt的文件的 用一个OTG转接头,将U盘与开发板的USB接口连接,此时,开发板USB接口旁边的绿色灯会亮。 串口会打印出如下图所示的信息。 将U盘再次连接到PC上面,这时可以看到,U盘中多出了这个名为demo.c的文件。 Demo.c里面的内容恰好就是打印的那句"This is STM32L496"。 至此,就完成了这个开发板USB部分的测试。 ====================================================================================== 最后,感谢@moyanming2013 的测试思路 |
【Nucleo STM32F767ZI】 STM32CubeMX + USB读取U盘文件例程
【stm32F429开发日志】使用STM32CubeMX配置STM32F429_USB_HID
【F769IDISCOVERY评测】高速USB VCP和全速USB VCP 速度对比
【NUCLEO-L496ZG评测】STM32CubeMX+内部RAM模拟U盘 USB DEVICE MSC的实现
低功耗+USB
求如何利用现有的USB虚拟串口与PC端收发数据?
[STM32F072 Nucleo]开发笔记(三) 修改USB代码用于游戏方向盘
【Nucleo STM32F767ZI】 STM32CubeMX + USB_DEVICE 大容量U盘教程
STM32F767 高速USB 数据下行 时速度慢
NUCLEO_144-F767 USBHost简单例程
这个是连载吗?
是的,前面还有硬件解析,开发环境那些内容