按键点亮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 小时前
5.9 电工考试-易错题
stm32·嵌入式硬件
foundbug9993 小时前
STM32 + SHT20 温湿度测试 TFT 显示方案
stm32·单片机·嵌入式硬件
别了,李亚普诺夫3 小时前
MAX30102模块原理及代码实现
单片机·嵌入式
星夜夏空993 小时前
STM32单片机学习(3)——前置知识学习
stm32·单片机·学习
渣渣灰95874 小时前
基于STM32F03ZET6移植FreeRTOS
数据库·stm32·嵌入式硬件
magic_now4 小时前
FAT文件系统:嵌入式设备的极简选择
笔记·嵌入式硬件
星夜夏空994 小时前
STM32单片机学习(5) —— STM32的一些名词解释
stm32·单片机·学习
yuan199975 小时前
STM32 速度控制器:PWM + PID 无级调速实现
stm32·单片机·嵌入式硬件
czwxkn5 小时前
pcb设计-器件:稳压二极管
单片机·嵌入式硬件