按键差不多

This commit is contained in:
stark1898y 2024-12-14 17:26:28 +08:00
parent c1ed09206c
commit fb2982a6ac
4 changed files with 23 additions and 20 deletions

View File

@ -43,16 +43,18 @@ void app_task_handler(TeAppEvtType app_evt_type)
switch(app_evt_type)
{
case kKeyShort:{
PRINT("button short press\r\n");
logDebug("button short press\r\n");
break;
}
case kKeyLong:
PRINT("button long press\r\n");
logDebug("button long press\r\n");
break;
case kKeyRelease:
BSP_KEY_EnterLowpower();
PRINT("gpio relase\r\n");
// BSP_KEY_EnterLowpower();
DelayMs(10);
BSP_RequestSleep();
logDebug("gpio relase;BSP_RequestSleep\r\n");
break;
default:
@ -189,7 +191,7 @@ int main(void)
logError("中文测试 %2.2f", 123.456);
#endif
// DelayMs(1000 * 3);
DelayMs(1000 * 3);
BOOST_OFF_DEINIT;
BEEP_OFF_DEINIT;
@ -197,7 +199,7 @@ int main(void)
EMV_CHARGE_OFF_DEINIT;
EMV_OFF_DEINIT;
// BSP_ADC_Init();
BSP_ADC_Init();
CH59x_BLEInit();
logDebug("%s\n", VER_LIB);
uint8_t MacAddr[6];
@ -209,8 +211,8 @@ int main(void)
LL_AdvertiseEventRegister(BLE_AdvertiseEventCB);
// DelayMs(100);
// GXHTC3C_Init();
DelayMs(100);
GXHTC3C_Init();
// while (1)
// {
// DelayMs(100);

View File

@ -388,7 +388,7 @@ void GXHTC3C_Init(void)
DelayMs(100);
GXHTC3C_Wakeup();
DelayMs(2);
DelayMs(3);
GXHTC3C_GetStart();
DelayMs(4);

View File

@ -32,7 +32,7 @@ static void KEY_Task_ProcessTmosMsg(tmos_event_hdr_t *pMsg)
}
}
#define KEY_TIMOUT_MS 5000
#define KEY_TIMOUT_MS 1000
#if 1
static uint16_t KEY_Task_ProcessEvent(uint8_t task_id, uint16_t events)
@ -72,7 +72,7 @@ static uint16_t KEY_Task_ProcessEvent(uint8_t task_id, uint16_t events)
{
key_vaild_times++;
}
key_timeout_cnt = KEY_TIMOUT_MS / 100;
key_timeout_cnt = 10;
}
else
{ // button release
@ -92,7 +92,8 @@ static uint16_t KEY_Task_ProcessEvent(uint8_t task_id, uint16_t events)
if (key_timeout_cnt)
{
key_timeout_cnt--;
tmos_start_task(key_task_id, KEY_SCAN_EVT, MS1_TO_SYSTEM_TIME(100)); // 40ms
logDebug("key_timeout_cnt %d", key_timeout_cnt);
tmos_start_task(key_task_id, KEY_SCAN_EVT, MS1_TO_SYSTEM_TIME(40)); // 40ms
}
else
{
@ -118,6 +119,11 @@ void BSP_KEY_EnterLowpower(void)
// R16_PB_INT_IF = KEY_B_PIN;
// R16_PB_INT_EN |= KEY_B_PIN;
// 由外部上拉电阻了
// 设置为浮空输入模式
// GPIOB_SetBits(KEY_B_PIN);
// GPIOB_ModeCfg(KEY_B_PIN, GPIO_ModeIN_PU);
// TODO:按键电平触发设置
// 下降沿触发
GPIOB_ITModeCfg(KEY_B_PIN, GPIO_ITMode_FallEdge);
@ -139,10 +145,6 @@ void BSP_KEY_ExitLowpower(void)
// 关闭GPIOB中断
PFIC_DisableIRQ(GPIO_B_IRQn);
PWR_PeriphWakeUpCfg(DISABLE, RB_GPIO_WAKE_MODE | RB_SLP_GPIO_WAKE, Long_Delay);
// tmos_set_event(key_task_id, KEY_SCAN_EVT);
// tmos_start_task(key_task_id, KEY_SCAN_EVT, MS1_TO_SYSTEM_TIME(30));
// tmos_start_reload_task(key_task_id, KEY_SCAN_EVT, MS1_TO_SYSTEM_TIME(30));
}
@ -254,7 +256,7 @@ void BSP_KEY_Init(app_task_evt_handler_t handler)
// 由外部上拉电阻了
// 设置为浮空输入模式
GPIOB_SetBits(KEY_B_PIN);
// GPIOB_SetBits(KEY_B_PIN);
GPIOB_ModeCfg(KEY_B_PIN, GPIO_ModeIN_PU);
// 下降沿触发
@ -291,7 +293,6 @@ void KEY_ProcessLoop(void)
if (key_wakeup_flag)
{
key_wakeup_flag = 0;
GPIOB_ClearITFlagBit(KEY_B_PIN);
tmos_set_event(key_task_id, KEY_SCAN_EVT);
logDebug("KEY_ProcessLoop");
}
@ -319,7 +320,7 @@ void GPIOB_IRQHandler(void)
logDebug("KEY IRQ");
// GPIOB_ClearITFlagBit(KEY_B_PIN);
GPIOB_ClearITFlagBit(KEY_B_PIN);
key_wakeup_flag = 1;
// key_timeout_flag = 0;

View File

@ -27,7 +27,7 @@ extern "C" {
#define LOG_MAX_NUMBER 5 /**< 允许注册的最大log对象数量 */
#define LOG_AUTO_TAG 1 /**< 是否自动添加TAG */
#define LOG_END "\r\n" /**< log信息结尾 */
#define LOG_TIME_STAMP TMOS_GetSystemClock() /**< 设置获取系统时间戳 */
#define LOG_TIME_STAMP BSP_Get_Tick() /**< 设置获取系统时间戳 */
#ifndef LOG_TAG
#define LOG_TAG __FUNCTION__ /**< 自定添加的TAG */