蓝桥杯嵌入式(LED操作)

本文介绍了如何使用STM32G431RB微控制器,基于HAL库和CubeMX配置PC8~PC15及PD2引脚来控制LED显示。在KEIL环境下,创建了bsp文件夹,包含led.c和led.h文件,用于LED的显示函数。通过LED_Disp函数,实现了对单个LED的亮灭控制,并展示了从LED1到LED8的逐个点亮效果。
摘要由CSDN通过智能技术生成

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

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

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值