趁着五一假期,单身狗拿了一上午时间来搞搞NUCLEO-L496ZG的OTG功能, 跟着论坛几位网友的步伐@何昌昕 ,@Paderboy ,在此表示感谢 在做测试的时候自己遇到一些问题,现在请教各位是否有相关的经验,可以给我解惑 使用的开发环境为: stm32cubmx v4.20 IAR for ARM 8.10.1 首先是使用stm32cubmx 生成初始化代码 先是usb-otg-fs选择usb host only 然后USB-HOST选择mass storage host class 再者FATSFS选择USB-Disk 可以打开LPUART1作为调试信息输出,然后在代码中自己加入输出重定向的fputc函数 具体过程可以看其他帖子,在此不做更多叙述 使用stm32cubmx v4.20定制生成的工程,底层的IO管脚与实际有些差别,要自己修改一下哈 然后是一个比较重要的函数,在usbh_conf.c文件的USBH_LL_DriverVBUS函数
之前没有发现这个函数,导致USB_VBUS一直没有上电 其中, PG6为输出模式,是控制USB上下电的管脚 PA9为输入模式,应该是检测USB VBUS状态的 芯片STMPS2151STR是一个开关,按理应该是PG6为高时,输出OUT为高,是的VBUS为高 也即VBUS为高时,LD8点亮, 由此,我认为自己的程序有地方没有弄对,使得VBUS一直不正常…… 加上红色的语句后,开始这两句是反的,板子上的LD8始终不能点亮,后来看了电路图,试着把红色的两句代码交换一下,测试就可以了,可以利用程序在U盘里面创建文件等动作了~ 附上工程代码 |
不错,很好的资源 |
谢谢分享 |
【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简单例程