40 lines
760 B
C
40 lines
760 B
C
|
|
#include "includes.h"
|
|||
|
|
|
|||
|
|
void Key_Open()
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
void Key_Handler(void)
|
|||
|
|
{
|
|||
|
|
static uint32_t key_tick = 0;
|
|||
|
|
uint32_t tick = GetTickCount();
|
|||
|
|
uint8_t g_KeyVal = KEY_INVALID;
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
|
uint8_t pe5 = LL_GPIO_IsInputPinSet(GPIOE, GPIO_PIN_5);
|
|||
|
|
|
|||
|
|
// <20>ж<EFBFBD><D0B6>Ƿ<EFBFBD>Ϊ<EFBFBD>͵<EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD>ų<EFBFBD><C5B3><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
if(LL_GPIO_IsInputPinSet(GPIOE, GPIO_PIN_5))
|
|||
|
|
return;
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>300ms<6D><73><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
if((tick >= key_tick && tick - key_tick < 300) || (tick < key_tick && 0xFFFFFFFFul - key_tick + 1 + tick < 300))
|
|||
|
|
return;
|
|||
|
|
|
|||
|
|
if(pe5 == 0)
|
|||
|
|
{
|
|||
|
|
//printf("\n----------- Key pe5 pressed -----------\n");
|
|||
|
|
g_KeyVal = KEY_ALARMOFF;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if(g_KeyVal != KEY_INVALID)
|
|||
|
|
{
|
|||
|
|
key_tick = GetTickCount();
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
if(g_KeyVal == KEY_ALARMOFF && IS_ALARM_ON())
|
|||
|
|
KZ_ALARM_OFF();
|
|||
|
|
}
|
|||
|
|
}
|