代码暂存 按键中断优化及阀门时间优化

This commit is contained in:
常正强 2025-05-14 09:57:50 +08:00
parent 37c112e9ff
commit 1bf077c4ea
5 changed files with 18 additions and 21 deletions

View File

@ -105,7 +105,7 @@ int main(void)
BSP_MOTOR_Init();
VALVE_OPEN();
DelayMs(2000);
DelayMs(1000);
BSP_VAVLE_Init();
BSP_LED_Init();

View File

@ -37,7 +37,7 @@ extern tmosTaskID vavle_task_id;
#define CHARGE_TIME_MS (1500)
#define CHARGE_TIME_MS (1000)
// 2.2V
#define LOW_VABAT_ALARM_VALUE 22

View File

@ -765,10 +765,10 @@ uint16_t Check_ProcessEvent(uint8_t task_id, uint16_t events)
motor_flag = 0;
LED_VALVE_OPEN;
VALVE_OPEN();
DelayMs(1000);
// DelayMs(1000);
IotFlag_t.Valve_Open_flag = 1;
fault_state = 0;
logDebug("motor/LED open");
logDebug("motor/LED open!!!");
tmos_start_task(check_task_id, MOTOR_STOP_EVT, MS1_TO_SYSTEM_TIME(1000));
}
else if(motor_flag == 2)
@ -776,9 +776,9 @@ uint16_t Check_ProcessEvent(uint8_t task_id, uint16_t events)
motor_flag = 0;
LED_VALVE_CLOSE;
VALVE_CLOSE();
DelayMs(1000);
// DelayMs(1000);
fault_state = 4;
logDebug("motor/LED close");
logDebug("motor/LED close!!!");
tmos_start_task(check_task_id, MOTOR_STOP_EVT, MS1_TO_SYSTEM_TIME(1000));
}
tmos_start_task(check_task_id, CHECK_EVT_START, MS1_TO_SYSTEM_TIME(200)); //100
@ -821,13 +821,10 @@ void GPIOA_IRQHandler(void)
// ¹Ø°´¼üÖжÏ
BSP_KEY_ExitLowpower();
printf("KEY IRQ");
printf("KEY IRQHandler !!!");
key_wakeup_flag = 1;
}
} else {
// 可能是电源波动导致的中断,忽略此次中断
// printf("Power Fluctuation - Ignored");
}
}
if (R16_PA_INT_IF & GPIO_Pin_9)

View File

@ -174,7 +174,7 @@ void BSP_KEY_EnterLowpower(void)
PWR_PeriphWakeUpCfg(ENABLE, RB_GPIO_WAKE_MODE | RB_SLP_GPIO_WAKE, Long_Delay);
// 开启GPIOB中断
PFIC_EnableIRQ(GPIO_B_IRQn);
PFIC_EnableIRQ(GPIO_A_IRQn);
}
void BSP_KEY_ExitLowpower(void)
@ -182,7 +182,7 @@ void BSP_KEY_ExitLowpower(void)
BSP_BlockSleep();
// 关闭GPIOB中断
PFIC_DisableIRQ(GPIO_B_IRQn);
PFIC_DisableIRQ(GPIO_A_IRQn);
PWR_PeriphWakeUpCfg(DISABLE, RB_GPIO_WAKE_MODE | RB_SLP_GPIO_WAKE, Long_Delay);
}
@ -304,7 +304,7 @@ void BSP_KEY_Init(app_task_evt_handler_t handler)
PWR_PeriphWakeUpCfg(ENABLE, RB_GPIO_WAKE_MODE | RB_SLP_GPIO_WAKE, Long_Delay);
// 开启GPIOB中断
PFIC_EnableIRQ(GPIO_B_IRQn);
PFIC_EnableIRQ(GPIO_A_IRQn);
tmos_start_task(key_task_id, KEY_SCAN_EVT, MS1_TO_SYSTEM_TIME(KEY_SACN_MS));

View File

@ -255,14 +255,14 @@ static uint16_t VAVLE_Task_ProcessEvent(uint8_t task_id, uint16_t events) // 阀
logDebug("VAVLE_CLOSE_START_EVT");
BSP_BlockSleep();
LED_VALVE_OPEN;
DelayUs(200);
LED_VALVE_CLOSE;
// DelayUs(200);
VALVE_STOP();
logDebug("MOTOR_INIT");
tmos_start_task(vavle_task_id, VAVLE_CLOSE_ACTION_EVT, MS1_TO_SYSTEM_TIME(CHARGE_TIME_MS));
tmos_start_task(vavle_task_id, VAVLE_CLOSE_ACTION_EVT, MS1_TO_SYSTEM_TIME(200));
return (events ^ VAVLE_CLOSE_START_EVT);
}
@ -275,7 +275,7 @@ static uint16_t VAVLE_Task_ProcessEvent(uint8_t task_id, uint16_t events) // 阀
logDebug("VALVE_CLOSE");
tmos_start_task(vavle_task_id, VAVLE_CLOSE_END_EVT, MS1_TO_SYSTEM_TIME(1600));
tmos_start_task(vavle_task_id, VAVLE_CLOSE_END_EVT, MS1_TO_SYSTEM_TIME(CHARGE_TIME_MS));
return (events ^ VAVLE_CLOSE_ACTION_EVT);
}
@ -303,13 +303,13 @@ static uint16_t VAVLE_Task_ProcessEvent(uint8_t task_id, uint16_t events) // 阀
BSP_BlockSleep();
LED_VALVE_OPEN;
DelayUs(200);
// DelayUs(200);
VALVE_STOP();
logDebug("MOTOR_INIT");
tmos_start_task(vavle_task_id, VAVLE_OPEN_ACTION_EVT, MS1_TO_SYSTEM_TIME(CHARGE_TIME_MS));
tmos_start_task(vavle_task_id, VAVLE_OPEN_ACTION_EVT, MS1_TO_SYSTEM_TIME(200));
return (events ^ VAVLE_OPEN_START_EVT);
}
@ -323,7 +323,7 @@ static uint16_t VAVLE_Task_ProcessEvent(uint8_t task_id, uint16_t events) // 阀
logDebug("VALVE_OPEN");
tmos_start_task(vavle_task_id, VAVLE_OPEN_END_EVT, MS1_TO_SYSTEM_TIME(1600));
tmos_start_task(vavle_task_id, VAVLE_OPEN_END_EVT, MS1_TO_SYSTEM_TIME(CHARGE_TIME_MS));
return (events ^ VAVLE_OPEN_ACTION_EVT);
}