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

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

[复制链接]
jiguosheng 发布时间:2018-6-24 09:34
本帖最后由 youxia 于 2018-6-24 16:19 编辑 ; t4 X$ n, A" G+ \' R
" r" Y! _9 w# ?/ c! l2 R1 Y
本人最近使用STM32CubeMX为NUCLEO-L4R5ZI创建一个USB应用,可是在使用过程中发现几个坑,在此分享一下。7 j" k  v$ N9 i/ ~$ ~  y4 U/ L! k
先说明一下,我使用的NUCLEO-L4R5ZI为A-01版,软件包为STM32CubeL4 Firmware Package V1.12.0 。
9 f+ g9 {. d! x0 h5 ~先选择Board Selector,选择NUCLEO-L4R5ZI,点击YES。在配置引脚的时候,发现PG5和PG6是不是反了? 不一致的地方.jpg
, u7 b  z8 L! s( t# B 不一致的地方2.jpg & A4 X4 {3 V; m$ G% ]; P
还有在给USB供电使能时,由STM32CubeMX生成的usbh_platform.c文件中,void MX_DriverVbusFS(uint8_t state)函数内data也是反的,参考例程可以明显对比出来,STMPS2151STR的手册内也表明EN脚低电平有效。
$ B0 s  n% F- \- w! Q1 V4 S9 ~ 错误2.jpg
2 l# V& D: }3 d% y( r9 O 错误3.jpg
9 ^' C- W$ `" r" y0 ?3 O- X 错误4.jpg 0 M$ V3 D! K' \
还有是例程MSC_Standalone使用HSE作为主时钟,可实际上由于板子上没有焊上8MHz晶振,所以根本跑不下来。实际上选择HSI做主时钟。5 F; x2 h; O! F' g* V. G7 S* T
最后软件生成的代码中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的两个坑:% C( E# @. F/ q% }% o7 p9 [& D
第1个是USB HOST_FREERTOS生成文件有问题。改用没加FREEROTS的。
, O) d  s- J( P+ j7 t1 ?第2个是任务堆栈,一定要设置大一点,否则运行文件函数系统就会挂掉!* H3 P% x0 ~8 {- L2 C" [
% `, G/ K5 v5 x2 {$ K, Q+ U: S
P.S stm32cube.com 这个网站是个什么鬼?不注册还进不去  艹

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版