#include "app_wdgt.h" #include "gd32f30x.h" #include "os.h" #include "bsp_charge.h" #include "bsp_wdgt.h" #define APP_TASK_WDGT_PRIO 13 #define APP_TASK_WDGT_STK_SIZE 256 static OS_TCB AppTaskWDGTTCB; static CPU_STK AppTaskWDGTStk[APP_TASK_WDGT_STK_SIZE]; static void AppTaskWDGT(void *p_arg); void app_task_wdgt(void) { OS_ERR err; /* Create the start task */ OSTaskCreate((OS_TCB *)&AppTaskWDGTTCB, (CPU_CHAR *)"App Task WDGT", (OS_TASK_PTR )AppTaskWDGT, (void *)0u, (OS_PRIO )APP_TASK_WDGT_PRIO, (CPU_STK *)&AppTaskWDGTStk[0u], (CPU_STK_SIZE )AppTaskWDGTStk[APP_TASK_WDGT_STK_SIZE / 10u], (CPU_STK_SIZE )APP_TASK_WDGT_STK_SIZE, (OS_MSG_QTY )0u, (OS_TICK )0u, (void *)0u, (OS_OPT )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR), (OS_ERR *)&err); } extern uint8_t UPdataState; static void AppTaskWDGT(void *p_arg) { OS_ERR err; uint16_t delayed = 0;; bsp_fwdgt_init(); while(1) { delayed++; if(UPdataState != ENABLE) { //1秒的频率闪烁 if(delayed >= 10){ delayed = 0; mcu_led_toggle(); } } else { //0.1秒的频率闪烁 delayed = 0; mcu_led_toggle(); } bsp_fwdgt_feed(); OSTimeDly(100,OS_OPT_TIME_DLY,&err); } }