74 lines
1.9 KiB
C
74 lines
1.9 KiB
C
/*****************************************************************
|
|
;Project: Light
|
|
;MCU:
|
|
;Date:
|
|
;File:
|
|
;Function:
|
|
******************************************************************/
|
|
#include "key.h"
|
|
#include "gpio.h"
|
|
#include "delay.h"
|
|
#include "config.h"
|
|
#include "DebugLog.h"
|
|
/*---------------------------------------------------------------*/
|
|
//外部变量调用声明
|
|
extern TaskFlagUnion_t tTaskFlag;
|
|
extern uint8_t Adv_State;
|
|
/*---------------------------------------------------------------*/
|
|
//函数声明
|
|
void GPIO_callback(void);
|
|
/*---------------------------------------------------------------*/
|
|
//GPIO初始化
|
|
//把不用到的GPIO口配置成上拉输入
|
|
void Gpio_Init(void)
|
|
{
|
|
PIN_Set_GPIO(0x01FF0F84,PIN_SEL_GPIO);
|
|
GPIO_Set_Input( 0x01FF0F84,0x01FF0F84);
|
|
PIN_Pullup_Enable(T_QFN_48,0x01FF0F84);
|
|
GPIO_Input_Enable(0x01FF0F84);
|
|
}
|
|
/*---------------------------------------------------------------*/
|
|
//按键初始化
|
|
void Key_Init(void)
|
|
{
|
|
PIN_Set_GPIO(U32BIT(SHOCK_PIN),PIN_SEL_GPIO);
|
|
GPIO_Set_Input( U32BIT(SHOCK_PIN),0); //设置为输入 不取反
|
|
PIN_Pullup_Enable(T_QFN_48, U32BIT(SHOCK_PIN));
|
|
GPIO_Input_Enable(U32BIT(SHOCK_PIN));
|
|
io_irq_enable(U32BIT(SHOCK_PIN),GPIO_callback);
|
|
|
|
//初始化充电状态引脚
|
|
PIN_Set_GPIO(U32BIT(CHARGE_PIN),PIN_SEL_GPIO);
|
|
GPIO_Set_Input( U32BIT(CHARGE_PIN),0); //设置为输入 不取反
|
|
PIN_Pullup_Disable(T_QFN_48, U32BIT(CHARGE_PIN)); //关闭上拉输入
|
|
GPIO_Input_Enable(U32BIT(CHARGE_PIN));
|
|
io_irq_disable(U32BIT(CHARGE_PIN)); //关闭IO口中断功能
|
|
}
|
|
/*---------------------------------------------------------------*/
|
|
//按键初始化
|
|
void GPIO_callback(void)
|
|
{
|
|
unsigned int SW;
|
|
|
|
SW=GPIO_IRQ_CTRL->GPIO_INT;
|
|
|
|
if(SW&U32BIT(SHOCK_PIN))
|
|
{
|
|
delay_ms(1);
|
|
if((GPIO_Pin_Read(U32BIT(SHOCK_PIN)) & U32BIT(SHOCK_PIN))==0)
|
|
{
|
|
tTaskFlag.tFlag.shockFlag = 1;
|
|
}
|
|
|
|
if(Adv_State == 0) //重启广播
|
|
{
|
|
StartAdv();
|
|
Adv_State = 1;
|
|
}
|
|
}
|
|
|
|
}
|
|
/*---------------------------------------------------------------*/
|
|
|
|
|