按键点亮led灯

原理图:


K0这个按键按下时,开发板D1这个灯亮,松开,灯灭


 代码如下:

#include "stm32f4xx.h"  void LED_Init(void)
{//1.定义一个GPIO外设的结构体变量  GPIO_InitTypeDef GPIO_InitStructure;//RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE|RCC_AHB1Periph_GPIOF, ENABLE);RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);//3.对结构体变量的成员进行赋值GPIO_InitStructure.GPIO_Mode 	= GPIO_Mode_OUT;				//输出模式GPIO_InitStructure.GPIO_OType 	= GPIO_OType_PP;				//推挽输出GPIO_InitStructure.GPIO_Speed 	= GPIO_Speed_100MHz;			//输出速率100MHZGPIO_InitStructure.GPIO_PuPd 	= GPIO_PuPd_UP;					//上拉输出//4.初始化GPIO//GPIO_InitStructure.GPIO_Pin 	= GPIO_Pin_9|GPIO_Pin_10;		//引脚GPIO_InitStructure.GPIO_Pin 	= GPIO_Pin_9;		//引脚GPIO_Init(GPIOF, &GPIO_InitStructure);//GPIO_InitStructure.GPIO_Pin 	= GPIO_Pin_13|GPIO_Pin_14;		//引脚//GPIO_Init(GPIOE, &GPIO_InitStructure);GPIO_SetBits(GPIOF,GPIO_Pin_9);		//设置高电平  LED灭//	GPIO_SetBits(GPIOF,GPIO_Pin_9|GPIO_Pin_10);		//设置高电平  LED灭//GPIO_SetBits(GPIOE,GPIO_Pin_13|GPIO_Pin_14);	//设置高电平  LED灭	
}void KEY_Init(void)
{//1.定义一个GPIO外设的结构体变量  GPIO_InitTypeDef GPIO_InitStructure;//2.打开外设时钟  GPIOA  PA0RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);//3.对结构体变量的成员进行赋值GPIO_InitStructure.GPIO_Mode 	= GPIO_Mode_IN;					//输入模式GPIO_InitStructure.GPIO_PuPd 	= GPIO_PuPd_UP;					//上拉输出//4.初始化GPIOGPIO_InitStructure.GPIO_Pin 	= GPIO_Pin_9;					//引脚GPIO_Init(GPIOB, &GPIO_InitStructure);}int main()
{KEY_Init();  //按键的初始化LED_Init();	 //LED的初始化while(1){if( GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_9) == RESET )	//说明被按下{GPIO_ResetBits(GPIOF,GPIO_Pin_9);	//设置低电平  LED亮}else{GPIO_SetBits(GPIOF,GPIO_Pin_9);		//设置高电平  LED灭	}}
}

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

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

相关文章

算法题笔记 1-5

目录 week 11. 找出数组中重复的数字题目数据范围样例题解(数组遍历) O(n) 2. 不修改数组找出重复的数字题目数据范围样例题解(分治,抽屉原理) O(nlogn) 3. 二维数组中的查找题目题解(单调性扫描) O(nm) 4.替换空格题目题解(线性扫描) O(n)(双指针扫描) O(n) 5.从尾…

uniapp开发小程序中实现骨架屏

第一步:小程序中实现骨架屏在微信开发者工具中点击生成骨架屏: 第二步:复制html代码,到骨架屏vue组件汇中再把之前写的样式代码引入进去: import ../../pages/user/user.css; 第三步:组件中引入骨架屏&am…

王江涛十天搞定考研词汇

学习目标: 考研词汇 学习内容: 2023-9-17 第一天考研词汇 学习时间: 2023-9-17 学习产出:A intellect智力;知识分子intellectual智力的;聪明的intellectualize使...理智化,对...做理性探索c…

【深度学习】 Python 和 NumPy 系列教程(五):Python容器:3、集合Set详解(初始化、访问元素、常用操作、常用函数)

目录 一、前言 二、实验环境 三、Python容器(Containers) 0、容器介绍 1、列表(List) 2、元组(Tuple) 3、集合(Set) 1. 初始化 2. 访问集合元素 3. 常用操作 a. 添加单个…

C# 实现迷宫游戏

智能提示&#xff1a; /// <summary>/// 迷宫/// </summary>internal class Maze : IDisposable{private MazeCell[,] cells;private readonly Stack<MazeCell> stack new Stack<MazeCell>();private readonly Random rand new Random();private int…

83 # 静态服务中间件 koa-static 的使用以及实现

静态服务中间件&#xff1a;koa-static 中间件可以决定是否向下执行&#xff0c;如果自己可以处理&#xff0c;那么直接处理完毕结束&#xff0c;如果自己处理不了&#xff0c;next 方法会继续向下执行 新建 public 文件夹&#xff0c;里面添加 index.html、style.css 文件 …

安卓判断是否是模拟器,适配主流雷电,MUMU,夜神,逍遥

前言 最近游戏项目组又有新的要求&#xff0c;对于数据上报和数据统计接口&#xff0c;尽可能的具体化&#xff0c;比如是否是模拟器&#xff0c;模拟器的型号&#xff0c;品牌等&#xff0c;都要求统计&#xff0c;后续模拟器玩家在活动发放&#xff0c;安全风控等方面也易于…

自研一个简易版本的OkHTTP

一,背景 为了彻底搞明白okhttp原理&#xff0c;仿照okhttp自研一个 二&#xff0c;思路 业务上没发出一个request&#xff0c;使用AsyncCall包装起来&#xff0c;然后在网络分发器的作用下&#xff0c;执行具体的每一个Call,这些具体的Call会经过层层的拦截器&#xff0c;最终…

【JavaEE】多线程案例-阻塞队列

1. 前言 阻塞队列&#xff08;BlockingQueue&#xff09;是一个支持两个附加操作的队列。这两个附加的操作是&#xff1a; 在队列为空时&#xff0c;获取元素的线程会等待队列变为非空当队列满时&#xff0c;存储元素的线程会等待队列可用 阻塞队列常用于生产者和消费者的场…

精益求精:Android应用体积优化的终极指南

精益求精&#xff1a;Android应用体积优化的终极指南 1. 介绍 在当今移动应用生态系统中&#xff0c;Android应用的体积优化是开发者需要高度重视的关键方面之一。一个庞大的应用体积不仅会对用户体验造成负面影响&#xff0c;还会导致以下问题&#xff1a; 下载速度延迟&am…

Re-Learn Linux Part1

1. Linux的目录结构 在Linux文件系统中有两个特殊的目录&#xff1a; 一个用户所在的工作目录&#xff0c;也叫当前目录&#xff0c;可以使用一个点 . 来表示&#xff1b;另一个是当前目录的上一级目录&#xff0c;也叫父目录&#xff0c;可以使用两个点 .. 来表示。 . &#…

Linux 忘记root密码解决方法(CentOS7.9)

忘记Linux系统的root密码&#xff0c;可以不用重新安装系统&#xff0c;进入单用户模式重新更改一下root密码即可。 步骤如下&#xff1a; 首先&#xff0c;启动Linux系统&#xff0c;进入开机界面&#xff0c;在界面中按"e"进入编辑界面&#xff0c;动作要快。按&q…