蓝桥杯嵌入式实战教程:使用STM32G431RBT6点亮LED灯

文章目录

  • 前言
  • 1.CubeMx配置
  • 1.1时钟源的选择
  • 1.2时钟树的配置
  • 1.3配置引脚
  • 1.4文件配置
  • 1.5工程配置
  • 2.代码编写
  • 2.1代码编写步骤
  • 2.2LED测试代码编写
  • 3.代码编写方法二

  • 前言

    下面对STM32G431进行模块化学习,本文先学习CubeMX的配置以及点灯操作。


    1.CubeMx配置

    1.1时钟源的选择

    1.2时钟树的配置

    HCLK一般取80(使用ADC的情况下)

    1.3配置引脚

    在产品手册中可以找到STM32G431的LED原理图,从下图可以看出,8颗LED灯通过74HC573驱动,LED灯采用低电平的方式点亮,控制引脚连PD2引脚。我们可以在PD2高电平的基础上,控制GPIO PC8 ~ PC15 的高低电平从而控制LED的亮灭。

    在CubeMX的中依次配置PC8~PC15,以及PD2引脚

    1.4文件配置

    填写文件名字,选择MDK-ARM以及对应的版本(一般选最新版本就行)

    到这里就算配置完成了,然后点击生成代码
    然后打开工程

    注意打开工程后如果弹出Keil Pack Installer就表示你没有STM32G431的芯片包,keil在自动帮你下载。但是keil下载会特别慢,建议自己爬梯子下载好再重新打开工程。这里附上芯片包链接https://www.keil.arm.com/packs/stm32g4xx_dfp-keil/boards/

    1.5工程配置

    进工程后配置一下调适用器

    然后可以调试,编写完代码按下载就可以了

    2.代码编写

    2.1代码编写步骤

    首先了解在工程中编写代码的位置, 需要包含的头文件建议写在begin includes—ned includes之间,如下图

    子函数建议写在code begin 0—end 0之间,如下图
    main函数建议写在初始化后的begin 2 end 2和while(1)中的begin3 end3之间,如下图

    2.2LED测试代码编写

    本次只编写简单的LED测试代码,以下代码放入while(1)中。

      HAL_GPIO_WritePin(GPIOC, GPIO_PIN_8, GPIO_PIN_SET); 
      HAL_GPIO_WritePin(GPIOC, GPIO_PIN_9, GPIO_PIN_RESET); 
      HAL_GPIO_WritePin(GPIOC, GPIO_PIN_10, GPIO_PIN_SET); 
      HAL_GPIO_WritePin(GPIOC, GPIO_PIN_11, GPIO_PIN_RESET); 
      HAL_GPIO_WritePin(GPIOC, GPIO_PIN_12, GPIO_PIN_SET); 
      HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET); 
      HAL_GPIO_WritePin(GPIOC, GPIO_PIN_14, GPIO_PIN_SET); 
      HAL_GPIO_WritePin(GPIOC, GPIO_PIN_15, GPIO_PIN_RESET); 
    

    最后进行编译下载

    3.代码编写方法二

    配置完cube后打开工程,先在工程文件下建立一个新文件命名为bsp

    然后打开keil在工程下新建一个群组,命名为bsp

    然后Ctrl+N新建两个文本Ctrl+S分别命名为led.c和led.h,都另存在工程文件夹的bsp文件里,然后右击keil工程里的bsp组,添加led.c

    编写led.h和led.c

    在main.h里添加定义

    在main.c包含头文件

    初始化和程序编写

    最后点击编译和上传

    作者:No1_fancy

    物联沃分享整理
    物联沃-IOTWORD物联网 » 蓝桥杯嵌入式实战教程:使用STM32G431RBT6点亮LED灯

    发表评论