硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1433|回复: 1
收起左侧

STM32H743 USB编译发生错误

[复制链接]

38

主题

76

回帖

190

积分

初级会员

积分
190
发表于 2024-6-1 22:18:57 | 显示全部楼层 |阅读模式
项目中需要用到SD卡模拟U盘,从官网下载了最新的软件包STM32Cube_FW_H7_V1.11.0。


参考硬汉哥的例程,使用了硬汉哥例程里的USBD_Masstorage库 + 上面最新软件包的里的USB_Device_Library库。

然后编译后就出错了,定位错误后发现是在USBD_Masstorage里的usbd_conf.c文件里有个函数定义如下,其参数类型与头文件里声明的函数原型参数类型不一致,
函数定义是uint16_t
44.jpg


在头文件usbd_core.h里,声明的该函数原型参数数据类型是uint32_t, 两者不一致,所以报错了。这个头文件是在USB_Device_Library库里,而这个库是包含在刚刚从官网下载的STM32Cube_FW_H7_V1.11.0软件包里的。
54.jpg

把两者数据类型改成一致就可以了,但是改成uint32还是16?,官网的软件包里的东西我不敢动,怕出问题。硬汉哥例程里的USBD_Masstorage库,我又找不到更新的版本。
还是说全部都用硬汉哥例程里的USBD_Masstorage库和USB_Device_Library库?但是我确实想用最新的USB_Device_Library库,这个要怎么解决?


P.S. 例程参考是的硬汉哥V7开发板里的 “V7-027_SD卡的FatFS文件系统+SD卡虚拟U盘”

谢谢
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117530
QQ
发表于 2024-6-2 01:23:43 | 显示全部楼层
STM32H7的新版USB库升级了函数USBD_LL_Transmit和函数USBD_LL_PrepareReceive的最后一个参数类型为uint32_t
https://forum.anfulai.cn/forum.p ... 0143&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-12 19:14 , Processed in 0.054062 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表