你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

使用Cube创建STM32L4R5ZI USB应用时发现的坑以及U盘程序分享

[复制链接]
jiguosheng 发布时间:2018-6-24 09:34
本帖最后由 youxia 于 2018-6-24 16:19 编辑 ; Q" j5 j; B+ F& o+ F9 H

2 n  O1 y5 F% p$ s1 T9 k$ ~- T本人最近使用STM32CubeMX为NUCLEO-L4R5ZI创建一个USB应用,可是在使用过程中发现几个坑,在此分享一下。2 S+ H: ]2 a2 f1 {
先说明一下,我使用的NUCLEO-L4R5ZI为A-01版,软件包为STM32CubeL4 Firmware Package V1.12.0 。7 U. T- F  Z: ^0 `
先选择Board Selector,选择NUCLEO-L4R5ZI,点击YES。在配置引脚的时候,发现PG5和PG6是不是反了? 不一致的地方.jpg 0 w& R. k# Y- S: V! I5 L* [
不一致的地方2.jpg
2 n  Q5 u8 k# [) M& ?还有在给USB供电使能时,由STM32CubeMX生成的usbh_platform.c文件中,void MX_DriverVbusFS(uint8_t state)函数内data也是反的,参考例程可以明显对比出来,STMPS2151STR的手册内也表明EN脚低电平有效。: X9 a) D8 ^+ T3 a0 G& [! @
错误2.jpg
5 X- m$ b" W0 O5 y9 W# y' a 错误3.jpg   ?$ W+ n6 g8 J2 F8 v" I, i
错误4.jpg
% `  ?, i( K& f$ Q( K+ i还有是例程MSC_Standalone使用HSE作为主时钟,可实际上由于板子上没有焊上8MHz晶振,所以根本跑不下来。实际上选择HSI做主时钟。
" D* R" I; d4 {  {最后软件生成的代码中USBH_Init的参数为USBH_Init(&hUsbHostFS, USBH_UserProcess, HOST_FS);HOST_FS=1。而例程中则是USBH_Init(&hUSBHost, USBH_UserProcess, 0);不是FS USB吗?怎么成了HS USB?最后上传程序和配置文件: STM32L4R5ZI.zip (5.28 MB, 下载次数: 48)
收藏 评论1 发布时间:2018-6-24 09:34

举报

1个回答
modu8888 回答时间:2018-6-25 10:10:15
补充cubemx+freertos+usb host的两个坑:
& D; C8 g6 @4 I9 j第1个是USB HOST_FREERTOS生成文件有问题。改用没加FREEROTS的。3 x5 f9 l. t' P
第2个是任务堆栈,一定要设置大一点,否则运行文件函数系统就会挂掉!# j; _3 n/ t9 R: H. D) d
, s( j$ `& a. ^( Z; [
P.S stm32cube.com 这个网站是个什么鬼?不注册还进不去  艹
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版