void TrapList::deInitial(void) { if( inited ) { os_tsk_delete(tsk_send_trap); udp_close(soc_massage); udp_release_socket(soc_massage); } }
bool diag_stop(void){ return diag_task_id != 0 && os_tsk_delete(diag_task_id) == OS_R_OK; }
__task void power (void) { unsigned int count =0; unsigned int temp; static GPIO_InitTypeDef GPIO_InitStruct; GPIO_PinState bitstatus; while(1) { GPIO_InitStruct.Pin = GPIO_PIN_2; GPIO_InitStruct.Mode = GPIO_MODE_INPUT; GPIO_InitStruct.Pull = GPIO_PULLUP; GPIO_InitStruct.Speed = GPIO_SPEED_FAST; HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); bitstatus = HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_2); if(bitstatus==GPIO_PIN_RESET) { os_dly_wait (200); bitstatus = HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_2); if(bitstatus==GPIO_PIN_RESET) { if(HAL_RTCEx_BKUPRead(&RtcHandle, RTC_BKP_DR6)==0) { count =0; do{ bitstatus = HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_2); count++; if(count>5000000) { Time3Disable(); GUI_Clear(); HAL_GPIO_WritePin(GPIOE,GPIO_PIN_3,GPIO_PIN_SET); HAL_GPIO_WritePin(GPIOE,GPIO_PIN_2,GPIO_PIN_RESET); if(zhuantskid !=NULL) os_tsk_delete(zhuantskid); if(maintskid !=NULL) os_tsk_delete(maintskid); if(keytskid !=NULL) os_tsk_delete(keytskid); if(servertskid !=NULL) os_tsk_delete(servertskid); if(meuntskid !=NULL) os_tsk_delete(meuntskid); if(setsystemtimetskid !=NULL) os_tsk_delete(setsystemtimetskid); if(setledlighttskid !=NULL) os_tsk_delete(setledlighttskid); if(setledtimetskid !=NULL) os_tsk_delete(setledtimetskid); if(setsoundtskid !=NULL) os_tsk_delete(setsoundtskid); if(setworkmodetskid !=NULL) os_tsk_delete(setworkmodetskid); if(yushentskid !=NULL) os_tsk_delete(yushentskid); HAL_RTCEx_BKUPWrite(&RtcHandle,RTC_BKP_DR6,1); // 说明是正常关机状态; HAL_GPIO_WritePin(GPIOG,GPIO_PIN_3,GPIO_PIN_RESET); HAL_GPIO_WritePin(GPIOG,GPIO_PIN_2,GPIO_PIN_SET); } }while(bitstatus==GPIO_PIN_RESET); }else { os_mut_init(mut_GLCD); os_mut_init(mut_Gclock); GUI_UC_SetEncodeUTF8(); zhuantskid = os_tsk_create (zhuan1, 0); maintskid = os_tsk_create (Main_Task, 0); keytskid = os_tsk_create (phase_KEY, 0); servertskid = os_tsk_create (Server_Task, 0); Time3Enable(HAL_RTCEx_BKUPRead(&RtcHandle, RTC_BKP_DR1)); HAL_GPIO_WritePin(GPIOE,GPIO_PIN_3,GPIO_PIN_RESET); HAL_GPIO_WritePin(GPIOE,GPIO_PIN_2,GPIO_PIN_SET); HAL_RTCEx_BKUPWrite(&RtcHandle,RTC_BKP_DR6,0); // 清楚掉关机状态 } } } } }