按键点亮led灯

news/2024/11/22 22:29:06/

原理图:


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.ppmy.cn/news/1114367.html

相关文章

【微信小程序】文章设置

设置基本字体样式:行高、首行缩进 font-size: 32rpx;line-height: 1.6em;text-indent: 2em;padding: 20rpx 0;border-bottom: 1px dashed var(--themColor); 两端对齐 text-align: justify; css文字两行或者几行显示省略号 css文字两行或者几行显示省略号_css…

07. Skywalking 服务监控和链路追踪

Spring Cloud 微服务系列文章,点击上方合集↑ 1. 简介 SkyWalking是一个针对分布式系统的应用程序性能监视工具和分析平台,它是基于Java Agent探针的技术,对服务进行监控和追踪,具有零侵入性特点。 SkyWalking对运行中的服务进…

JavaWeb的基本概念

一、Web基本概念 Web的基本结构: 1.客户端的概述 1.1. 客户端的作用 与用户进行交互,用于接收用户的输入(操作)、展示服务器端的数据以及向服务器传递数据 1.2. 常见的客户端 PC端网页: 移动端: Iot设备: 2…

记一次线程堵塞(挂起)导致消息队列积压

1 背景 A服务作为生产者,每天发送上千万的mq消息,每一个消息包含500个用户ids数据。B服务作为消费者,接受MQ消息并通过http调用第三方请求进行业务处理,消费组启用了rabbitmq的多线程消费组,一个实例并发40个mq消费者…

OJ练习第176题——第二高的薪水

第二高的薪水 力扣链接:176. 第二高的薪水 题目描述 示例 MySQL select max(salary) as SecondHighestSalary from Employee where salary ! (select max(salary) as salary from Employee); #去掉最大后,再去取最大,就是第二大select (s…

DMA简单总结

文章目录 一、基础概念1.1 DMA---Direct Memory Access 直接存储器访问,目的减少CPU资源占用 二、典型DMA硬件模型2.1 基本硬件特性---通道数、源/目标类型,地址与累加方式,数据位宽,搬移长度,循环模式,中断…

工商银行潍坊分行党建RPA机器人项目解析

01 案例背景:银行业掀起引入RPA加速实现数字化转型的浪潮 近年来,金融科技的蓬勃发展极大促进了银行的业务创新,新技术、新业态层出不穷。随着银行业务和科技的融合逐步落实,银行业务正朝着线上化、智能化转变。科技赋能的转型范…

CentOS LVM缩容与扩容步骤

为VM打快照;备份home数据;# yum install xfsdump -y [root@testCentos7 home]# xfsdump -f /dev/home.dump /home xfsdump: using file dump (drive_simple) strategy xfsdump: version 3.1.7 (dump format 3.0) - type ^C for status and control ===================…