按键控制LED灯开关
题目:
利用STM32CubeMX和lKeil5进行STM32应用开发,完成以下的功能。 【1】按下KEY1按键,切换LED1的开关状态。
【2】按下KEY2按键,松开后,切换LED2的开关状态。 【3】按下KEY4按键,把点亮的LED灯全部关闭。
#include "main.h"
#include "gpio.h"/* USER CODE BEGIN PTD */
#define KEY1 HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_0)
#define KEY2 HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_1)
#define KEY4 HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_3) //按键读取宏定义void Key_Scan()
{if(KEY1 == 0){ HAL_Delay(10);if(KEY1==0){HAL_GPIO_TogglePin(GPIOD,GPIO_PIN_3);while(KEY1==0);} }if(KEY2==0){HAL_Delay(10);if(KEY2==0){while(KEY2==0);//按键按下时等待,松开后动作HAL_GPIO_TogglePin(GPIOD,GPIO_PIN_4);}}if(KEY4==0){HAL_Delay(10);if(KEY4==0){HAL_GPIO_TogglePin(GPIOD,GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6);//可以同时反转多个引脚while(KEY4==0);}}
}
int main(void)
{HAL_Init();SystemClock_Config();MX_GPIO_Init();/* USER CODE BEGIN WHILE */while (1){/* USER CODE END WHILE */Key_Scan();//调用/* USER CODE BEGIN 3 */}/* USER CODE END 3 */
}
按键控制LED灯开关相关推荐
- CC2530按键控制LED灯开关
文章目录: 实验要求 代码实现 实验要求 代码实现 #include "ioCC2530.h"#define D3 P1_0 #define D4 P1_1 #define D5 ...
- 实现米思齐按键控制LED灯
这篇文章是关于Arduino借助Mixly IDE软件的一个实验,有兴趣的同学可以看看.有什么错误的还请大家指出,我们一起探讨.由于很多人对于Arduino还不太了解,所以这里先简单介绍一下. 1.A ...
- 按键控制led灯python程序_树莓派使用threading函数实现多按键控制LED灯
讲两个知识点.一个是关于上拉和下拉,另一个是关于threading函数. 1.上拉电阻和下拉电阻 上拉就是把一个不确定的信号通过一个电阻连接到高电位,这样在开关断开是信号为高电位,开关合上时信号为低电 ...
- FPGA(1)基础入门 -- 按键控制led灯
目录 效果说明 1.配置输入输出变量 2.变量赋值 3.配置引脚(输入输出变量) 代码 效果说明 key1按键按下,led1被点亮. key2按键按下,led2被点亮. 1.配置输入输出变量 inpu ...
- led计数电路实验报告_「正点原子FPGA连载」第八章 按键控制LED灯实验
1)实验平台:正点原子开拓者FPGA开发板 2)本实例源码下载:请移步正点原子官网 第八章 按键控制LED灯实验 按键是常用的一种控制器件.生活中我们可以见到各种形式的按键,由于其结构简单,成本低廉等 ...
- STM32按键控制led四种方法
文章目录 回顾按键电路 按照之前文章方法在工程文件下加入Hardware中的key.c和key.h 打开固件库用户手册查询io读取相关的函数 第一种方式实现按键控制 第二种方式实现按键控制led 第三 ...
- 8个独立按键控制LED
8个独立按键控制LED
- 按键控制LED实现启动、停止按钮
按键控制LED实现启动.停止按钮
- 简单的按键控制LED
简单的按键控制LED
- petalinux zynq spi_ZYNQ 系列 01 | PL 实现按键控制 LED(1)
注:本篇文章由[开源骚客:OpenSoc]公众号首发,现转载至头条号. 新的开始,这一篇文章,就算是使用 Vitis 开发 ZYNQ 的第一篇文章吧. 计划把 ZYNQ 开发写成一个系列,所使用的的软 ...
最新文章
- 为何Google将几十亿行源代码放在一个仓库?| CSDN博文精选
- 关闭线程池 shutdown 和 shutdownNow 的区别
- oracle的scn增量备份,Oracle技术之利用scn增量备份实现数据库增量恢复
- GARFIELD@04-30-2005
- 转载:闲话权限设计三层境界
- Spark源码分析 -- SchedulableBuilder
- 前端基础进阶(二):执行上下文详细图解
- jquery html5引导页,jQuery插件实现的页面功能介绍引导页效果
- Android按back后执行过程,安卓app测试获取接口返回数据,然后处理数据,放在一个button点击事件里面 执行顺序有问题?无法获取数据?...
- 通过CentOS克隆虚拟机后发现无法启动网卡或无法上网的解决办法
- 正向代理 smtp imap_Nginx代理模式及区别
- 五子棋初步以及对五子棋的局面估值
- 服务器运维KPI指标,运维服务工程师考核表.docx
- docker编配和服务发现
- Codeforces1538G Gift Set (三分)
- 观光公交(codevs 1139)题解
- 数据库常用字段、列属性、表类型与SQLyog工具的使用
- RoboCup GameController安装方法
- padStart 和 padEnd的使用
- Yolo系列目标检测算法知识点总结