STM32G431RB--基于HAL库

  1. CubeMX配置:

①引脚操作:

pc8~pc15,PD2

KEIL

  1. 新建一个文件夹bsp

  1. 添加组

重命名为bsp

3.新建两个文件

led.c led.h

4.将新增的文件加入到组中

将.c文件加入到新建的组中

5.添加路径

魔术棒-选择c/c++-路径添加-将bsp文件夹添加在路径中

6.led.c

#include  "led.h"


void LED_Disp(unsigned dsLED)
{
  HAL_GPIO_WritePin(GPIOC,GPIO_PIN_All,GPIO_PIN_SET);
   HAL_GPIO_WritePin(GPIOC,dsLED<<8,GPIO_PIN_RESET);//将dsLED设置为可以左移八位的变量,刚好对应8个灯
   HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_SET);
  HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_RESET);
}

7.led.h

#ifndef _LED_H_
#define _LED_H_


#include "main.h"


void LED_Disp(unsigned dsLED);
#endif  

8.main.c

  • 引入.h文件

  • 初始化

初始化led显示函数
LED_Disp(0x00);

  • 编写功能

        LED_Disp(0x01);
        HAL_Delay(500);
        LED_Disp(0x00);
        HAL_Delay(500);
//led1的 亮和熄灭

LED_Disp(0x02); //led2
LED_Disp(0x04); //led3
LED_Disp(0x08); //led4
LED_Disp(0x10); //led5
LED_Disp(0x20); //led6
LED_Disp(0x40); //led7
LED_Disp(0x80); //led8

注意:中文注释有可能引起乱码。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐