【第十二届蓝桥杯嵌入式备赛】写在前面

一、比赛规则改动

蓝桥杯嵌入式组的规则相较第十一届比赛有较大改动,最明显的一处变化是允许使用STM32CubeMX对底层驱动进行配置,另外也有新的主控板加入(个人盲猜是因为疫情影响,原来的芯片太贵了,hhh),允许使用MDK5等等变化。这些变化无不在释放一个信号,背底层驱动配置流程的时代已经过去了。随之而来的是不是轻底层,重算法的时代呢?我不得而知。但预先善其事,必先利其器。STM32CubeMX就是我们的利器,这次备赛系列我将以新的竞赛板(STM32G431RBTx)为基础,介绍Cube与HAL库的使用,分享我的备赛过程。也算输出倒逼输入了,怕自己太忙丢掉了这个比赛。欢迎大家一起交流。

二、STM32CubeMX简介

STM32Cube官网
官网链接放在上面了,软件下载,软件介绍都可以在官网找到。
简单来说STM32Cube是STM32底层代码环境配置的神器,不管你使用STM32系列的哪个芯片,只要通过点几个按钮,在图形化界面上选择你想要的配置,然后点击一键生成代码。即可生成一个底层配置完成的空工程,你只需构建上层控制代码即可。
软件安装大家自行百度即可,在这里我给出两点建议:

  • STM32Cube的运行是基于Java环境的,所以大家记得下载JDK并配置好环境。
  • 安装目录最好是英文,以免不必要的错误出现。另外在一键生成工程时,选择存放工程的文件夹及路径一定要是全英文的,否则可能生成工程出错,这个在哪配置我们后面详细讲。
  • STM32Cube虽然可以自动生成工程,但是Keil还是需要安装我们使用芯片的支持包,就是所说的Pack包。这样才能开始愉快地玩耍了。

三、生成第一个Cube工程

初始界面

当你成功安装完成STM32CubeMX(以后均简称Cube)后,启动它后就会进入这个界面
【第十二届蓝桥杯嵌入式备赛】写在前面_第1张图片
开始一个工程有三个选项,这里我们直接使用第一个模式进入新建工程(也是最常用的),点击ACCESS TO MCU SELECTOR,即从选择芯片型号开始。

芯片选择界面

此时我们进入了芯片选择界面,在搜索框可以直接输入芯片型号,然后双击右边的详细型号列表,即可进入该芯片的配置界面
【第十二届蓝桥杯嵌入式备赛】写在前面_第2张图片

配置界面

此时进入配置界面后,即可进行底层配置,工程生成等一系列操作,这里我们只简单介绍四大块任务栏的分布,

  • Pinout & Configuration为引脚及具体外设配置界面
  • Clock Configuration为时钟配置界面,以前用起来晕晕乎乎的时钟系统,Cube通过图形化的界面让你直接进行配置,可以说非常好用了。
  • Project Manager就是我们生成工程的配置选项,这里是我们生成工程的最后一步,稍后我对他进行详细讲解。
  • 最后一个Tools界面我们几乎用不到(我太菜了,不知道怎么用),这里就不做介绍,有兴趣的同学可以自己摸索。
    【第十二届蓝桥杯嵌入式备赛】写在前面_第3张图片

工程配置界面

【第十二届蓝桥杯嵌入式备赛】写在前面_第4张图片
我配置好后界面如下,工程名称为TEST,存放在桌面的TEST文件夹里
【第十二届蓝桥杯嵌入式备赛】写在前面_第5张图片
当你成功生成工程后,会出现这个框框
【第十二届蓝桥杯嵌入式备赛】写在前面_第6张图片
此时你可以打开文件夹、打开工程、或者关闭这个对话框。

如果你是第一次生成工程,它会说你没有支持包,是否要下载支持包,点击下载即可,它下载的就是HAL库(关于HAL、LL、标准固件库的区别大家可以自行百度,Cube目前主打的还是HAL库,所为的就是让开发者忽略底层,专注上层开发)。下载完支持包后可继续完成工程生成。

生成的工程文件夹下就会出现这些文件夹和文件,点开MDK-ARM,即可打开工程,编译成功。至此,我们成功使用Cube生成了我们第一个工程。
【第十二届蓝桥杯嵌入式备赛】写在前面_第7张图片
下一讲讲解G431开发板外设驱动的基础配置及测试代码

你可能感兴趣的:(蓝桥杯,嵌入式,STM32Cube,嵌入式,单片机,stm32)