st公司stm32MCU,cubemx创建工程,Drivers文件夹下内容不可见问题的描述与粗略解决方法

本文探讨了ST公司的HAL库在STM32开发中的应用,介绍了通过Cubemx进行工程创建的便捷方法。文章强调了正确设置时钟频率的重要性,并提醒开发者注意工程名与路径不可修改的问题。此外,还分享了一个关于复制工程时drivers文件夹内容丢失的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

st公司推行hal库代替std库,新的mcu不再支持std库文件,这就逼着mcu的开发人员主动使用hal库。

hal库比较省心,st也比较推荐的方法是使用cubemx程序创建。配置好管脚,外设,频率,估算好电压等参数后可以直接生成工程文档,比较方便。

这里需要注意的问题有,cubemx设置的频率,尤其是如外部时钟这种,会影响mcu内部波特率、systick频率的计算,最好是与实际晶振频率一致。如果外部晶振频率变化,应当在头文件stm32l1xx_hal_conf.h的第89行位置修改,宏定义单位为hz。

第二个问题有,cubemx工程生成之后,就不可以修改工程名与工程路径。如果工程仍然需要修改-重新生成,则个人代码最好放在标有user code的区间之内,这样再次生成时cubemx会保留这些代码。不然cubemx会将代码删除。

前面都是废话,后面这个才是最重要问题:笔者今天在复制cubemx工程时,意外发现文件夹drivers下所有内容都未被复制。打开drivers文件夹查看,内容为空。删除drivers文件夹,提示0x80070091;但是gitlab上传时可以将drivers文件夹内容上传,记事本的“打开”功能可以看到drivers下有stm32l1xx_hal_driver与cmsis文件夹,个人怀疑应该是windows资源管理器出问题了。

问题原因暂不清楚,期待大神解释。个人先提出一个比较粗糙的解决方法,该方法已经经过笔者尝试,可以解决问题。即:将drivers文件夹使用rar/zip/7z等压缩软件打包,打包后复制到缺少drivers内容的工程内再解包。这样操作后keil软件可以找到之前缺失的库文件,问题被解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值