当前位置: 首页 > news >正文

【备赛】点亮LED

LED部分的原理图

led前面有锁存器,这是为了防止led会受到lcd的干扰(lcd也需要用到这些引脚)。

每次想要对led操作,就需要先打开锁存器,再执行操作,最后关闭锁存器。

这里需要注意的是,引脚配置为低电平时,LED才会点亮。

具体操作

1)配置

首先要在stm32CubeMX里面配置PD2为高电平,目的是打开锁存器。

然后配置PC8-PC15都是高电平,默认刚上电是关闭的。

这里给高电平,但是不用上拉电阻。 

2)代码

这是截取的一小段代码。需要强调的是:

 
一堆代码
 
  HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_RESET);
  
  LCD_Init();
  LCD_Clear(Black);
  LCD_SetBackColor(Black);
  LCD_SetTextColor(White);
  
一堆代码

 一定要在LCD初始化之前关闭锁存器。

这样LCD无论如何操作也不会对led造成干扰。

这就是你刚才配置的那个 锁存器和PC8-PC15。

3)相关函数

void led_all_off() //关闭所有的LED灯
{
	HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, 1);
    HAL_GPIO_WritePin(GPIOC, GPIO_PIN_All, 1);
	HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, 0);
}

void led_all_on() //打开所有的LED灯
{
	HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, 1);
    HAL_GPIO_WritePin(GPIOC, GPIO_PIN_All, 0);
	HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, 0);
}

void led_on(int n) //只打开某一个LED灯(n取值为 1 ~ 8)
{
	HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, 1);
	HAL_GPIO_WritePin(GPIOC, GPIO_PIN_All, 1);
	HAL_GPIO_WritePin(GPIOC, GPIO_PIN_7 << n, 0);
	HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, 0);
}

void led_status(unsigned char c) //打开一部分LED灯(传入的8位数据分别控制8个灯)
{
	HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, 1);
	GPIOC -> ODR = (c << 8);
	HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, 0);
}

相关文章:

  • P8615 [蓝桥杯 2014 国 C] 拼接平方数
  • 从零到一学习c++(基础篇--筑基期十一-类)
  • 电脑经常绿屏(蓝屏)怎么办(解决方法)?
  • Golang概述
  • 【Docker】如何在Linux、Windows、MacOS中安装Docker
  • HTTP代理与HTTPS代理的区别及HTTPS的工作原理
  • 基于SpringBoot的“流浪动物救助系统”的设计与实现(源码+数据库+文档+PPT)
  • 嗯,用户想开发一个竹类知识宝库小程序?
  • Docker 搭建 Redis 数据库
  • PCL 点云添加高斯噪声
  • 【Python量化金融实战】-第2章:金融市场数据获取与处理:2.1 数据源概览:Tushare、AkShare、Baostock、通联数据(DataAPI)
  • Unity实用技能-UI与粒子效果总结
  • JavaScript系列(85)--包管理工具详解
  • 有哪些API接口可以提高信息获取效率?
  • 【LLM系列7】KTO 训练
  • BUUCTF-Web方向21-25wp
  • 【Mysql】事务
  • 算法与数据结构(环形链表II)
  • Python天梯赛L1-018-大笨钟详解
  • [杂学笔记]工厂模式、多态、内存空间区域划分、cp指令破坏软连接问题、UDP如何实现可靠传输、滑动窗口的原理、进程与线程、线程之间的通信
  • 盲人不能刷脸认证、营业厅拒人工核验,央媒:别让刷脸困住尊严
  • 香港今年新股集资额已超600亿港元,暂居全球首位
  • 去年上海全市博物馆接待观众约4087万人次,同比增31.9%
  • 国际博物馆日|航海博物馆:穿梭于海洋神话与造船工艺间
  • 当“诈骗诱饵”盯上短剧
  • 复旦建校120周年大型义诊举行,百余名专家服务市民超三千人次