概述
学习本节之前,必须要先安装好 keil5 以及 CubeMX 等软硬件环境,如果你已经安装完成,请告诉自己:考试现在开始!
从CubeMX开始
CubeMX是创建工程模板的软件,也是我们比赛时第一个要进行操作的软件。
一、选择单片机
我们使用的这款单片机的名称叫做:STM32G431RBT6。其中R代表引脚数量,为64脚;B代表Flash的容量,为128kBytes;T为芯片封装;切记不可弄错!
二、配置时钟树
首先在RCC下,将HSE的时钟来源选择为外部晶振,如下图所示:
其次、在时钟树界面完成以下配置:
在最后输入80后,按下回车键,各个参数将会自动配置,使得我们的外设一律工作在80MHz的频率下,这个数字需要牢记!
解答几个疑惑:
为什么第一个数字需要设置为24?
答:板载硬件使然:
设置时钟的目的是什么?为什么要设置为80MHxz?
答:为了让各个外设工作在最稳定的状态,80MHz的条件不快也不慢,稳定性好,我们参加的是比赛,做项目的时候当然可以把频率调高,提高单片机外设性能。
附一页G431的时钟树图:
三、设置调试(DeBug)模式
如下图,在SYS框内将Debug选项选为SerialWire,我们可以观察到蓝色框中,PA14和PA13变成了绿色,即被使用状态:
大家不要担心PA14和PA13这个问题,在我们的板子上,这两个引脚是专门用来做调试用的,没有其它的用途:
四、配置各个功能
这部分是根据题目的要求,使能需要使用的各个外设,因题而异,所以没有普适性。但我建议大家的是,在开始做题前,先确定好需要使用哪些外设,整体的代码思路是怎么样的,争取一次配置完全。要不然再返回来补充配置会出现许多Bug,最严重的是写好的代码会丢失!
五、文件设置
文件名、文件位置、开发IDE这三者的选择不必多说。需要注意的是,文件路径不能包含中文!
在Code Generator栏目下,我希望大家勾选上 将外设初始化放置在单独文件中,如下图所示要不然这些代码会一律被集合到main.c中,会增添复杂。
对于是否只拷贝必要的库文件,如果你确认好了配置全了所有的外设,那么就大胆勾选上,进一步减轻工程重量。
最后点击代码生成,一个工程模板的创建就完成了!
再到下载器设置
一、选择调试器
二、选择调试方式
三、选择下载方式
重点小结
至此,一个工程模板的创建就此完成了。本节的重点不在于这些配置的步骤,重点在什么呢?重点在于要做好对工程的规划!决定用什么外设,怎么组织代码逻辑,建议大家做题前先写到纸上。
配置必须一次全部完成!