【备赛】点亮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);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/25463.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS 使用white-space属性换行

一、white-space属性的常见值 * 原本格式&#xff1a; 1、white-space:normal 默认值&#xff0c;空格和换行符会被忽略过滤掉&#xff1b;宽度不够时文本会自动换行 * 宽度足够时&#xff0c;normal 处理后的格式 * 宽度不够时&#xff0c; normal 处理后的格式 2、white-spa…

electron-builder打包时github包下载失败【解决办法】

各位朋友们&#xff0c;在使用electron开发时&#xff0c;选择了electron-builder作为编译打包工具时&#xff0c;是否经常遇到无法从github上下载依赖包问题&#xff0c;如下报错&#xff1a; Get "https://github.com/electron/electron/releases/download/v6.1.12/ele…

【WSL2】 Ubuntu20.04 GUI图形化界面 VcXsrv ROS noetic Vscode 主机代理 配置

【WSL2】 Ubuntu20.04 GUI图形化界面 VcXsrv ROS noetic Vscode 主机代理 配置 前言整体思路安装 WSL2Windows 环境升级为 WIN11 专业版启用window子系统及虚拟化 安装WSL2通过 Windows 命令提示符安装 WSL安装所需的 Linux 发行版&#xff08;如 Ubuntu 20.04&#xff09;查看…

2025学年安徽省职业院校技能大赛 “信息安全管理与评估”赛项 比赛样题任务书

2024-2025 学年广东省职业院校技能大赛 “信息安全管理与评估”赛项 技能测试试卷&#xff08;五&#xff09; 第一部分&#xff1a;网络平台搭建与设备安全防护任务书第二部分&#xff1a;网络安全事件响应、数字取证调查、应用程序安全任务书任务1 &#xff1a;内存取证&…

数据库导出

MySQL数据库 使用命令行导出 导出整个数据库&#xff1a;在命令行中输入mysqldump -u用户名 -p密码 数据库名 > 导出文件路径/文件名.sql。例如mysqldump -uroot -p123456 mydb > /home/user/mydb_backup.sql&#xff0c;回车后输入密码即可将名为mydb的数据库导出为SQL…

OpenCV给图像添加噪声

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 如果你已经有了一张干净的图像&#xff0c;并希望通过编程方式向其添加噪声&#xff0c;可以使用 OpenCV 来实现这一点。以下是一个简单的例子&a…

OSPF BIT 类型说明

注&#xff1a;本文为 “OSPF BIT 类型 | LSA 类型 ” 相关文章合辑。 机翻&#xff0c;未校。 15 OSPF BIT Types Explained 15 种 OSPF BIT 类型说明 Rashmi Bhardwaj Distribution of routing information within a single autonomous system in larger networks is per…

Linux网络之传输层协议(UDP,TCP协议)

目录 重新认识端口号 端口号划分 netstat pidof UDP协议 UDP的特点 面向数据报 UDP的缓冲区 全双工和半双工 TCP协议 TCP的特点 TCP报头分析 源端口&#xff0c;目标端口&#xff0c;数据偏移(报文首部长度) 序号 确认号 窗口 6个标志位 ACK SYN …

Spring Boot 热部署

文章目录 一&#xff0c;Spring Boot热部署概述二&#xff0c;对项目HelloWorld01进行热部署 1、添加开发工具依赖2、热部署配置3、热部署测试 一&#xff0c;Spring Boot热部署概述 在开发过程中&#xff0c;通常会对一段业务代码不断地修改测试&#xff0c;在修改之后往往…

【前端基础】Day 3 CSS-2

目录 1. Emmet语法 1.1 快速生成HTML结构语法 1.2 快速生成CSS样式语法 2. CSS的复合选择器 2.1 后代选择器 2.2 子选择器 2.3 并集选择器 2.4 伪类选择器 2.4.1 链接伪类选择器 2.4.2 focus伪类选择器 2.5 复合选择器总结 3. CSS的元素显示模式 3.1 什么是元素显示…

使用vscode导出Markdown的PDF无法显示数学公式的问题

我的硬件环境是M2的MacBook air&#xff0c;在vscode中使用了Markdown PDF来导出md文件对应的PDF。但不管导出html还是PDF文件&#xff0c;数学公式都是显示的源代码。 我看了许多教程&#xff0c;给的是这个方法&#xff1a;在md文件对应的html文件中加上以下代码&#xff1a…

去耦电容的作用详解

在霍尔元件的实际应用过程中&#xff0c;经常会用到去耦电容。去耦电容是电路中装设在元件的电源端的电容&#xff0c;其作用详解如下&#xff1a; 一、基本概念 去耦电容&#xff0c;也称退耦电容&#xff0c;是把输出信号的干扰作为滤除对象。它通常安装在集成电路&#xf…

[原创]openwebui解决searxng通过接口请求不成功问题

openwebui 对接 searxng 时 无法查询到联网信息&#xff0c;使用bing搜索&#xff0c;每次返回json是正常的 神秘代码&#xff1a; http://172.30.254.200:8080/search?q北京市天气&formatjson&languagezh&time_range&safesearch0&languagezh&locale…

【JavaSE-1】初识Java

1、Java 是什么? Java 是一种优秀的程序设计语言,人类和计算机之间的交流可以借助 Java 这种语言来进行交流,就像人与人之间可以用中文、英语,日语等进行交流一样。 Java 和 JavaScript 两者有关系吗? 一点都没有关系!!! 前端内容:HTML CSS JS,称为网页三剑客 2、JDK 下…

C++知识整理day10——多态(多态的定义和实现、虚函数重写/覆盖、override和final关键字、纯虚函数和抽象类、多态的原理)

文章目录 1.多态的概念2.多态的定义和实现2.1 多态的构成条件2.2 多态必须具备的两个条件&#xff08;很重要&#xff09;2.3 虚函数2.4 虚函数的重写/覆盖2.5 协议&#xff08;了解即可&#xff09;2.6 析构函数的重写2.6 override和final关键字2.7 重载/重写/隐藏的对比 3.纯…

BladeX框架接口请求跨域

前端使用代理请求接口&#xff0c;接口可以正常访问。如果换全路径请求就跨域。 除了后端要配置跨域 还需要修改配置文件对OPTIONS请求的限制

文件操作 -- IO [Java EE 初阶]

目录 文件 1. 认识文件 2. 树型结构组织和目录 3. 文件路径 (Path) 4. 文件系统上存储的文件又可以分为两大类 4.1 文本文件 4.2 二进制文件 文件系统操作 1.Java 中操作文件 2. File 概述 2.1 属性 2.2 构造方法 2.3 方法 2.4 部分举例 文件内容操作 1. 数据流…

菜鸟之路Day19一一多线程(一)

菜鸟之路Day19一一多线程&#xff08;一&#xff09; 作者&#xff1a;blue 时间&#xff1a;2025.2.24 文章目录 菜鸟之路Day19一一多线程&#xff08;一&#xff09;o.概述1.什么是多线程2.并发与并行3.多线程的实现方式3.1继承Thread类的方式进行实现3.2实现Runnable接口的…

《Effective Objective-C》阅读笔记(上)

目录 高质量iOS之熟悉OC 了解OC语言的起源 在类的头文件中尽量少引入其他头文件 多用字面语法&#xff0c;少用与之等价的方法 字面数值 字面量数组 字面量字典 局限性 多用类型常量&#xff0c;少用#define预处理指令 用枚举表示状态、选项、状态码 高质量iOS之对象…

mysql --- 相关基础知识整理

目录 一、基本数据结构1、聚簇索引和非聚簇索引1.1 数据存储方式1.2 查询效率1.3 插入和更新性能1.4 适用场景 2、InnoDB 存储引擎2.1 B树2.2 行格式2.3 缓冲池2.4 日志文件 3、MyISAM存储引擎3.1 表文件结构3.2 B树3.3 数据存储特点 4、InnoDB和MyISAM的区别 二、索引1、索引类…