#include <stm32f10x_lib.h>
#include "key.h"
#include "delay.h"
void KEY_Init(void)
{
RCC->APB2ENR=1<<2;
RCC->APB2ENR=1<<4;
RCC->APB2ENR|=1<<0; //开启辅助时钟
GPIOA->CRL&=0XFFFFFFF0;
GPIOA->CRL|=0X00000008;
GPIOC->CRH&=0XFF0FFFFF;
GPIOC->CRH|=0X00800000;
GPIOA->ODR|=1<<0;
GPIOC->ODR|=1<<13;
}
u8 KEY_Scan(void)
{
static u8 key_up=1;
if(key_up&&(KEY0==0||KEY1==0))
{
delay_ms(10);
key_up=0;
if(KEY0==0&&KEY1==1)
return 0;
else if(KEY1==0&&KEY0==1)
return 1;
}
else if(KEY0==1&&KEY1==1)
{
key_up=1;
return 2;
}
}
|