#include "key.h"
#include "led.h"
int p=1,Flag=0;
void Key_GPIO_Init()
{
GPIO_InitTypeDef GPIO_InitStruct;
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA,ENABLE);
GPIO_InitStruct.GPIO_Pin =GPIO_Pin_13|GPIO_Pin_6|GPIO_Pin_7;
GPIO_InitStruct.GPIO_Mode =GPIO_Mode_IPU;
}
void KEY_init()
{
Key_GPIO_Init();
}
void KEY_Scan()
{
if(Flag==1) {
if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_13)==0)
{
_kdelay();
if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_13)==0)
{
p++;
while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_13)==0);
}
}
}
if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_6)==0)
{
_kdelay();
if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_6)==0)
{
Flag=0;
}
}
if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_7)==0)
{
_kdelay();
if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_7)==0)
{
Flag=1;
}
}
}
void _kdelay()
{
u32 i=0x01ff;
while(i--)
{ };
}
void _led_switch()
{
if(Flag)
{
switch(p)
{
case 1:
LED1_Liushui();
break;
case 2:
LED2_Liushui();
break;
case 3:
LED3_Liushui();
break;
case 4:
LED4_Liushui();
break;
case 5:
LED5_Liushui();
break;
case 6:
LED6_Liushui();
break;
case 7:
LED7_Liushui();
break;
case 8:
LED8_Liushui();
break;
case 9:
LED9_Liushui();
break;
case 10:
LED10_Liushui();
break;
default :
p=1;
break;
}
}
}