按键差不多

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

View File

@ -388,7 +388,7 @@ void GXHTC3C_Init(void)
DelayMs(100); DelayMs(100);
GXHTC3C_Wakeup(); GXHTC3C_Wakeup();
DelayMs(2); DelayMs(3);
GXHTC3C_GetStart(); GXHTC3C_GetStart();
DelayMs(4); 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 #if 1
static uint16_t KEY_Task_ProcessEvent(uint8_t task_id, uint16_t events) 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_vaild_times++;
} }
key_timeout_cnt = KEY_TIMOUT_MS / 100; key_timeout_cnt = 10;
} }
else else
{ // button release { // button release
@ -92,7 +92,8 @@ static uint16_t KEY_Task_ProcessEvent(uint8_t task_id, uint16_t events)
if (key_timeout_cnt) if (key_timeout_cnt)
{ {
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 else
{ {
@ -118,6 +119,11 @@ void BSP_KEY_EnterLowpower(void)
// R16_PB_INT_IF = KEY_B_PIN; // R16_PB_INT_IF = KEY_B_PIN;
// R16_PB_INT_EN |= KEY_B_PIN; // R16_PB_INT_EN |= KEY_B_PIN;
// 由外部上拉电阻了
// 设置为浮空输入模式
// GPIOB_SetBits(KEY_B_PIN);
// GPIOB_ModeCfg(KEY_B_PIN, GPIO_ModeIN_PU);
// TODO:按键电平触发设置 // TODO:按键电平触发设置
// 下降沿触发 // 下降沿触发
GPIOB_ITModeCfg(KEY_B_PIN, GPIO_ITMode_FallEdge); GPIOB_ITModeCfg(KEY_B_PIN, GPIO_ITMode_FallEdge);
@ -139,10 +145,6 @@ void BSP_KEY_ExitLowpower(void)
// 关闭GPIOB中断 // 关闭GPIOB中断
PFIC_DisableIRQ(GPIO_B_IRQn); PFIC_DisableIRQ(GPIO_B_IRQn);
PWR_PeriphWakeUpCfg(DISABLE, RB_GPIO_WAKE_MODE | RB_SLP_GPIO_WAKE, Long_Delay); 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); GPIOB_ModeCfg(KEY_B_PIN, GPIO_ModeIN_PU);
// 下降沿触发 // 下降沿触发
@ -291,7 +293,6 @@ void KEY_ProcessLoop(void)
if (key_wakeup_flag) if (key_wakeup_flag)
{ {
key_wakeup_flag = 0; key_wakeup_flag = 0;
GPIOB_ClearITFlagBit(KEY_B_PIN);
tmos_set_event(key_task_id, KEY_SCAN_EVT); tmos_set_event(key_task_id, KEY_SCAN_EVT);
logDebug("KEY_ProcessLoop"); logDebug("KEY_ProcessLoop");
} }
@ -319,7 +320,7 @@ void GPIOB_IRQHandler(void)
logDebug("KEY IRQ"); logDebug("KEY IRQ");
// GPIOB_ClearITFlagBit(KEY_B_PIN); GPIOB_ClearITFlagBit(KEY_B_PIN);
key_wakeup_flag = 1; key_wakeup_flag = 1;
// key_timeout_flag = 0; // key_timeout_flag = 0;

View File

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