按键输入(库函数)

key.h文件 

#ifndef KEY_H
#define KEY_H
#include "stm32f10x.h"

#define  KEY0  GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0)
#define  KEY3  GPIO_ReadInputDataBit(GPIOE, GPIO_Pin_3)
#define  KEY4  GPIO_ReadInputDataBit(GPIOE, GPIO_Pin_4)

void key_init(void);


#endif

key.c文件 

#include "key.h"

void key_init(void)
{
	GPIO_InitTypeDef GPIO_InitStucture;
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOE,ENABLE);
	
	
	GPIO_InitStucture.GPIO_Pin = GPIO_Pin_3|4;
	GPIO_InitStucture.GPIO_Mode = GPIO_Mode_IPU;
	GPIO_Init(GPIOE, &GPIO_InitStucture);
	
	GPIO_InitStucture.GPIO_Pin = GPIO_Pin_0;
	GPIO_InitStucture.GPIO_Mode = GPIO_Mode_IPD;
	GPIO_Init(GPIOA, &GPIO_InitStucture);

}

main.c文件 

#include "stm32f10x.h"
#include "led.h"
#include "beep.h"
#include "key.h"



void delay(u32 i){while(i--);}


int main(void)
{
	led_init();
	beep_init();
	key_init();

	while(1)
	{
		if(KEY0==1)
		{
			delay(5000);
			if(KEY0==1)
			{				
				beep();
			}
		}
		
		if(KEY3==0)
		{
			delay(5000);
			if(KEY3==0)		
				LED0(OFF);
		}
		
		if(KEY4==0)
		{
			delay(5000);
			if(KEY4==0)		
				LED1(OFF);
		}

	}

}

 

你可能感兴趣的:(STM32)