
#include "key.h"
/**************************************************************************
Function: Key initialization
Input   : none
Output  : none
函数功能：按键初始化
入口参数：无
返回  值：无
**************************************************************************/
void KEY_Init(void)
{
    GPIO_InitTypeDef GPIO_InitStructure;
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); // 使能PA端口时钟
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;             // 端口配置
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;         // 上拉输入
    GPIO_Init(GPIOA, &GPIO_InitStructure);                // 根据设定参数初始化GPIOA
}
/**************************************************************************
Function: Key scan
Input   : none
Output  : 0：No action；1：click；
函数功能：按键扫描
入口参数：无
返回  值：按键状态 0：无动作 1：单击
**************************************************************************/
u8 click(void)
{
    static u8 flag_key = 1;   // 按键松开标志
    if (flag_key && KEY == 0) // 检测到按键按下
    {
        flag_key = 0;
        return 1; // 按键按下
    }
    else if (1 == KEY)
        flag_key = 1;
    return 0; // 无按键按下
}
