正点原子官方SYSTEM文件夹的移植

移植前准备

  1. HAL库工程(可用STM32CubeMX直接生成)
  2. 正点原子SYSTEM文件夹(任意一个例程里面复制出来就行,但记住一定要是HAL库例程)
  3. 平台为keil5
  4. STM32开发板(我这里用的是正点原子的探索者,MCU为F4系列)

工程创建

我们在用STM32CubeMX创建工程代码的时候有一点需要注意,在Cube中不要去使能USART1,因为在SYSTEM文件的usart.c中已经把USART1进行了初始化,这里再去使能一次不仅会失败而且重新引入usart.h和usart.c与SYSTEM文件中的文件名相同而冲突,最后报错。
这个不要动
其他一切正常,工程创建完毕后将 SYSTEM 文件夹粘贴至与Cube同一目录下,也就是这里。
贴这儿

c文件以及头文件的引入

代码生成后我们打开keil5工程文件,正常情况下打开工程文件后项目栏只有三个文件夹,分别是 Application/User , Drivers/STM32F4xx_HAL_DriverDrivers/CMSIS 如下图
初始项目栏
接下来我们单击“魔法棒”右边的图标,也就是File extensions
单击它
进入下一个界面将SYSTEM文件夹中的 .c 文件都包含进来
按照步骤来
当然 .h的包含则是在 “魔法棒”C/C++ 选项卡中,这里注意选到最后一级文件夹即可,也就是含有 .h 文件的文件夹
清楚明白
至此,所有相关文件都引入完成。

使能串口

很多朋友在完成以上基本步骤后以为已经结束了,便迫不及待地去点编译,于是报了一大堆错
报错
这时候就觉得束手无策了,但其实是还缺少了两个步骤,因为我们当时在配置Cube的时候是没有使能usart的,所以自然是不会帮你使能有关HAL库函数的,同时也没有引入相关 .c文件,这就需要我们认为地去完成这两个步骤。

.c文件的包含

跟之前的 .c文件引入方法相同找到 Drivers/STM32F4xx_HAL_Driver/Src路径下把 stm32f4xx_hal_uart.cstm32f4xx_hal_usart.c包含进来即可
这里

使能有关功能

这就需要找到 stm32f4xx_hal_conf.h这个文件,进去可以看到有许多HAL库外设的使能,如果有在 STM32CubeMX中使能的外设这里会自动加上使能,如果没有这里就仍是注释状态。这边需要我们手动使能一下串口和定时器外设
使能外设

结束

完成以上步骤之后,再进行一次编译,就能开心收获两个鸭蛋啦,本次移植也算圆满完成。

最后感谢大家对本文章的阅读支持,另外如有不当之处欢迎指正探讨,谢谢大家!

  • 27
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值