【NUCLEO-L496ZG评测】关于 USB-FS-OTG测试 的疑惑
趁着五一假期,单身狗拿了一上午时间来搞搞NUCLEO-L496ZG的OTG功能,跟着论坛几位网友的步伐@何昌昕 ,@Paderboy ,在此表示感谢
在做测试的时候自己遇到一些问题,现在请教各位是否有相关的经验,可以给我解惑:handshake
使用的开发环境为:
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函数
<blockquote>/**
之前没有发现这个函数,导致USB_VBUS一直没有上电
其中,
PG6为输出模式,是控制USB上下电的管脚
PA9为输入模式,应该是检测USB VBUS状态的
芯片STMPS2151STR是一个开关,按理应该是PG6为高时,输出OUT为高,是的VBUS为高
也即VBUS为高时,LD8点亮,
由此,我认为自己的程序有地方没有弄对,使得VBUS一直不正常……
加上红色的语句后,开始这两句是反的,板子上的LD8始终不能点亮,后来看了电路图,试着把红色的两句代码交换一下,测试就可以了,可以利用程序在U盘里面创建文件等动作了~
附上工程代码
不错,很好的资源 谢谢分享
页:
[1]