梦开始的第一步~学会记录【适用于小白系列】
首先了解到蓝桥杯嵌入式开发所使用的板子为STM32G431RB为主控芯片的开发平台。这次就先教大家建立工程与点灯。
点击file中的New Project创建新的工程,在Part? Number一栏中选择STM32G431RB系列,芯片型号选择蓝色那一行LQFP64,引脚外置的芯片,最后点击右上角Start Project.
在System core 一栏点击RCC,将外部高频时钟(HSE)下拉选中crytal/Ceramic Resonator。
然后换到Clock Configuration一栏,将外部输入的时钟改为24MHZ【由于给出的开发板中,提供的外部晶振为24MHZ】,并且将HSI换到HSE,再将第二个换到PLLCLK,由于例程代码里面输入的时钟都为80MHZ,所以暂且输入为80MHZ。修改完毕之后,按回车键。
然后进入下一步进入到project manager,对文件的名字与路径进行填写和更改,在Toolchaim中下拉选中MDK-ARM。
在左边第二个Code Generator中将下面三个勾选上
回到Print&Configuration,对我们的SYS文件进行配置,右边下拉选中Serial wire.
在System core一栏中选择GPIO,比如我们要将LED1进行点亮,则我们需要分配LED1的引脚,看芯片的原理图可以知道GPIOC_pin_8则为第一个LED的引脚,那么左键选择芯片引脚选择GPIO—_OUTPUT,可以知道CT117E—M4在LED处有一块锁存器,需要赋予芯片使能引脚为有效电平才可以使其工作将LED点亮。所以控制LED的芯片使能引脚在原理图上为GPIOD_pin_2,也向以上操作给其配置引脚。
最后点击右上角GENERATE CODE,便可以生成配置文件。
下一步在我们刚刚创建的工程文件夹添加BSP文件夹,用于放置我们所写的外设输出程序。
在MDK-ARM中,点击绿色的dream1,即可以在keil里面编写我们的代码。
点击魔法棒
在Debug一栏中下拉选择CMSIS DAP-Debugger,再点击Settings,将Reset and Run勾选上
左上角添加空白新文件,再CTrl+s进行保存至BSP文件夹,取名为LED.c,再次点击左上角新建文件,取名为LED.h保存至BSP文件夹,保存完之后要在keil文件夹内进行路径的添加不然,在编译时会进行报错,会找不到文件路径。
点击魔法棒之后,点击C/C++一栏,点击下面Include PAths,进行路径的添加,路径添加为BSP文件的路径。
首先在LED.h文件里面进行定义头文件
#ifndef?LED_H_
#define?LED_H_
#include?"main.h"
void LED_bing(void); //为我们定义的LED闪烁的函数
#endif
?接着在LED.c文件里面编写我们的LED闪烁的函数:我们可知在原理图里LED高电平处于熄灭的状态,所以要使LED亮起来必须是低电平并且给使能端口赋予有效电平,所以给使能端口GPIOD2有效电平。
#include?"LED.h"
void?LED_bing()
{
?HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_SET);//给与使能端口有效电平
?HAL_GPIO_WritePin(GPIOC,GPIO_PIN_8,GPIO_PIN_SET);//熄灭
?HAL_Delay(500);//延时
?HAL_GPIO_WritePin(GPIOC,GPIO_PIN_8,GPIO_PIN_RESET);//点亮
?HAL_Delay(500);//延时
}
最后需要在main主函数里面包含我们的#include "LED.h"文件,并且在while循环里面调用我们的函数。注意:我们调用的必须写在BEGIN与END之间
最后对我们的程序进行编译,project上方第二个为编译,若编译没有错误,便可以点击右边dream1相邻的下载器,进行程序的下载,程序的结果为LED1进行500ms一次的闪烁。
不对的地方请进行指正!