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

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软件可以找到之前缺失的库文件,问题被解决。

你可能感兴趣的:(MCU)