创建工程+点灯【蓝桥杯&嵌入式设计与开发】

本文详细介绍了如何使用STM32G431RB开发板进行嵌入式开发,包括在Cubemx中配置工程、设置RCC时钟和GPIO口,以及编写LED点灯程序的基本步骤。通过MDK-ARM和Keil工具,新手可以学习基础的嵌入式开发实践。
摘要由CSDN通过智能技术生成

梦开始的第一步~学会记录【适用于小白系列】

首先了解到蓝桥杯嵌入式开发所使用的板子为STM32G431RB为主控芯片的开发平台。这次就先教大家建立工程与点灯。

一.用Cubemax进行配置搭建工程

点击file中的New Project创建新的工程,在Part  Number一栏中选择STM32G431RB系列,芯片型号选择蓝色那一行LQFP64,引脚外置的芯片,最后点击右上角Start Project.

二.配置RCC时钟与分配GPIO口

2.1配置RCC时钟

在System core 一栏点击RCC,将外部高频时钟(HSE)下拉选中crytal/Ceramic Resonator。

然后换到Clock Configuration一栏,将外部输入的时钟改为24MHZ【由于给出的开发板中,提供的外部晶振为24MHZ】,并且将HSI换到HSE,再将第二个换到PLLCLK,由于例程代码里面输入的时钟都为80MHZ,所以暂且输入为80MHZ。修改完毕之后,按回车键。

2.2创建工程文件及其路径选择其编译器

然后进入下一步进入到project manager,对文件的名字与路径进行填写和更改,在Toolchaim中下拉选中MDK-ARM。

在左边第二个Code Generator中将下面三个勾选上

回到Print&Configuration,对我们的SYS文件进行配置,右边下拉选中Serial wire.

2.3分配GPIO口

在System core一栏中选择GPIO,比如我们要将LED1进行点亮,则我们需要分配LED1的引脚,看芯片的原理图可以知道GPIOC_pin_8则为第一个LED的引脚,那么左键选择芯片引脚选择GPIO—_OUTPUT,可以知道CT117E—M4在LED处有一块锁存器,需要赋予芯片使能引脚为有效电平才可以使其工作将LED点亮。所以控制LED的芯片使能引脚在原理图上为GPIOD_pin_2,也向以上操作给其配置引脚。

最后点击右上角GENERATE CODE,便可以生成配置文件。

三.在keil软件进行工程的创建

下一步在我们刚刚创建的工程文件夹添加BSP文件夹,用于放置我们所写的外设输出程序。

在MDK-ARM中,点击绿色的dream1,即可以在keil里面编写我们的代码。

点击魔法棒

在Debug一栏中下拉选择CMSIS DAP-Debugger,再点击Settings,将Reset and Run勾选上

四.LED点灯程序

4.1添加LED源文件以及头文件进行模块化编程

左上角添加空白新文件,再CTrl+s进行保存至BSP文件夹,取名为LED.c,再次点击左上角新建文件,取名为LED.h保存至BSP文件夹,保存完之后要在keil文件夹内进行路径的添加不然,在编译时会进行报错,会找不到文件路径。

点击魔法棒之后,点击C/C++一栏,点击下面Include PAths,进行路径的添加,路径添加为BSP文件的路径。

4.2模块化编程LED点灯程序

首先在LED.h文件里面进行定义头文件

  1. #ifndef LED_H_
    #define LED_H_
    #include "main.h"
    void LED_bing(void); //为我们定义的LED闪烁的函数
    #endif

 接着在LED.c文件里面编写我们的LED闪烁的函数:我们可知在原理图里LED高电平处于熄灭的状态,所以要使LED亮起来必须是低电平并且给使能端口赋予有效电平,所以给使能端口GPIOD2有效电平。

  1. #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一次的闪烁。

不对的地方请进行指正!

  • 36
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

stupdf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值