蓝桥杯嵌入式——LED

原理:PD2为使能端,高电平使能。使能的时候,给PC8-PC15高电平即可点亮LED。

CUBE里将这些端口设置为GPIO输出模式,将PC8-15初始电平设置为高电平(这样一上电就不会亮),PD2默认低电平,不用管,然后生成代码即可,如下图:

生成的工程文件里新建一个bsp文件夹,后续新建的其他文件都放进这个文件夹,记得把这个文件的路径添加进头文件路径。

封装代码如下:

led.c

#include "led.h"

void Led_disp(uint8_t addr)
{
  HAL_GPIO_WritePin(GPIOC, GPIO_PIN_All, GPIO_PIN_SET);
	HAL_GPIO_WritePin(GPIOC, 0x0100 << addr, GPIO_PIN_RESET);
	HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_SET);
	HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_RESET);
}

led.h

#ifndef __led_h
#define __led_h

#include "main.h"

void Led_disp(uint8_t addr);

#endif

 主函数里记得加上led的头文件:#include "led.h"

如点亮LD7,主函数while(1)里添加:

Led_disp(6);

相关推荐

  1. 嵌入总结

    2023-12-21 13:00:02       29 阅读
  2. 嵌入学习

    2023-12-21 13:00:02       25 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-21 13:00:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-21 13:00:02       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-21 13:00:02       82 阅读
  4. Python语言-面向对象

    2023-12-21 13:00:02       91 阅读

热门阅读

  1. shell——变量之字符串的截取

    2023-12-21 13:00:02       51 阅读
  2. Vue的网络请求、插槽、Vuex

    2023-12-21 13:00:02       64 阅读
  3. git或svn提交消息时,fix、feat等命令的含义

    2023-12-21 13:00:02       71 阅读
  4. 爬虫scrapy管道的使用

    2023-12-21 13:00:02       60 阅读
  5. 面试经典150题(38-41)

    2023-12-21 13:00:02       55 阅读
  6. golang开发--beego入门

    2023-12-21 13:00:02       47 阅读
  7. SpringBoot集成Drools

    2023-12-21 13:00:02       59 阅读
  8. 【单元测试】测还是不测,这是一个问题

    2023-12-21 13:00:02       50 阅读