按键点亮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;			//输出速率100MHZ
	GPIO_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  PA0
	RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);

	//3.对结构体变量的成员进行赋值
	GPIO_InitStructure.GPIO_Mode 	= GPIO_Mode_IN;					//输入模式
	GPIO_InitStructure.GPIO_PuPd 	= GPIO_PuPd_UP;					//上拉输出
	
	//4.初始化GPIO
	GPIO_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灭	
		}
	}
}
相关推荐
无敌最俊朗-几秒前
【电感专题2:电感的感抗、电路的阻抗、电流的滞后】
单片机·嵌入式硬件·元器件·电感
wuyk5554 小时前
嵌入式故障诊断-Bug002-局部大数组压栈高温必死机
stm32·单片机·嵌入式硬件·mcu·物联网·51单片机·嵌入式实时数据库
Zwawa8 小时前
嵌入式OLED表驱动菜单:用一张表、一个栈和一个窗口重写表驱动菜单
c语言·单片机·嵌入式
Dev_XH8 小时前
【成品设计】基于沁恒单片机的电动汽车充电站智慧调度系统
stm32·单片机·嵌入式硬件·物联网
shimly1234569 小时前
(done) 嵌入式硬件电路图 (5) 重要的元器件特性之二极管三极管
嵌入式硬件
minglie111 小时前
esp32c3+atshell测试ov7670
单片机·嵌入式硬件
橘为己有44111 小时前
51单片机:流水灯
单片机·51单片机
不脱发的程序猿11 小时前
STM32和VS1053制作电子琴
stm32·单片机·嵌入式硬件·midi·vs1053
Zwawa1 天前
C语言函数指针与宏实战:从回调、表驱动菜单到X-Macro,讲透嵌入式代码解耦
c语言·单片机·嵌入式
shimly1234561 天前
(done) 嵌入式硬件电路图 (2) 熟悉常用元器件
嵌入式硬件