# 1 "../../../Package/OS/Task/task.c" # 1 "" 1 # 1 "" 3 # 387 "" 3 # 1 "" 1 # 1 "" 2 # 1 "../../../Package/OS/Task/task.c" 2 # 1 "../../../Package/OS/Task/task.h" 1 # 1 "d:\\Keil\\ARM\\ARMCLANG\\Bin\\..\\include\\stdint.h" 1 3 # 56 "d:\\Keil\\ARM\\ARMCLANG\\Bin\\..\\include\\stdint.h" 3 typedef signed char int8_t; typedef signed short int int16_t; typedef signed int int32_t; typedef signed long long int int64_t; typedef unsigned char uint8_t; typedef unsigned short int uint16_t; typedef unsigned int uint32_t; typedef unsigned long long int uint64_t; typedef signed char int_least8_t; typedef signed short int int_least16_t; typedef signed int int_least32_t; typedef signed long long int int_least64_t; typedef unsigned char uint_least8_t; typedef unsigned short int uint_least16_t; typedef unsigned int uint_least32_t; typedef unsigned long long int uint_least64_t; typedef signed int int_fast8_t; typedef signed int int_fast16_t; typedef signed int int_fast32_t; typedef signed long long int int_fast64_t; typedef unsigned int uint_fast8_t; typedef unsigned int uint_fast16_t; typedef unsigned int uint_fast32_t; typedef unsigned long long int uint_fast64_t; typedef signed int intptr_t; typedef unsigned int uintptr_t; typedef signed long long intmax_t; typedef unsigned long long uintmax_t; # 5 "../../../Package/OS/Task/task.h" 2 # 1 "../../../Package/OS/Task/cfg/task_cfg.h" 1 # 6 "../../../Package/OS/Task/task.h" 2 # 1 "../../../Package/OS/Task/pt_thread/pt_header.h" 1 # 1 "../../../Package/OS/Task/pt_thread/pt_timer.h" 1 # 1 "../../../Package/OS/Task/pt_thread/pt.h" 1 # 1 "../../../Package/OS/Task/pt_thread/lc.h" 1 # 1 "../../../Package/OS/Task/pt_thread/lc-switch.h" 1 typedef unsigned short lc_t; # 9 "../../../Package/OS/Task/pt_thread/lc.h" 2 # 6 "../../../Package/OS/Task/pt_thread/pt.h" 2 struct pt { lc_t lc; }; # 4 "../../../Package/OS/Task/pt_thread/pt_timer.h" 2 struct timer { int start; int interval; }; # 5 "../../../Package/OS/Task/pt_thread/pt_header.h" 2 # 1 "../../../Package/OS/Task/pt_thread/pt-sem.h" 1 # 74 "../../../Package/OS/Task/pt_thread/pt-sem.h" struct pt_sem { unsigned int count; }; # 6 "../../../Package/OS/Task/pt_thread/pt_header.h" 2 # 8 "../../../Package/OS/Task/task.h" 2 # 30 "../../../Package/OS/Task/task.h" enum TASK_ID { TASK_ID_TaskTimer, # 1 "../../../Package/OS/Task/cfg/taskid.h" 1 TASK_ID_TaskBlinLed, TASK_ID_TaskWDT, TASK_ID_TaskLMM, TASK_ID_TaskEX_WDT, TASK_ID_TaskCAN, # 33 "../../../Package/OS/Task/task.h" 2 }; enum TIMER_MODE { TIMER_MODE_TIMER = 0, TIMER_MODE_ONCEROUTINE, TIMER_MODE_CYCROUTINE }; typedef struct mytask { int32_t lActive; int32_t lTaskMode; int32_t lTaskID; int8_t cTaskName[16]; int32_t lLastTime; int32_t lPeriod; int8_t (*TaskProc)(struct pt* pt1); struct pt pt1; }TASK_DATA,*PTASK_DATA; typedef struct mytimer { int32_t cUse; int8_t *TimerID; int32_t cMode; int32_t reserve1; int32_t lPeriod; int32_t lLastTime; void (*routine)(void * Param1); void *Param1; }TIMER_DATA,*PTIMER_DATA; enum TASK_MODE {TASK_MODE_ONCE,TASK_MODE_PERIOD}; void InitSysTick(void); void InitTask(void); void TaskProc(void); void Init_EventRecorder(void); int32_t ActiveTask(int32_t cTaskType, int32_t lPeriod); int32_t SuspendTask(int32_t cTaskType); int32_t ActiveTaskNow(int32_t cTaskType, int32_t lPeriod); int32_t SetTaskLastTime(int32_t cTaskType,int32_t lLastTime); int32_t StartTimer2(int32_t *TimerID,int32_t cMode,int32_t lPeriod,void (* routine)(void * Param1),void * Param1); int32_t StartTimer(int32_t cMode,int32_t lPeriod,void (* routine)(void * Param1),void * Param1); int32_t StopTimer ( int32_t * pcTimerNumber ); void StopAllTimer(void); # 2 "../../../Package/OS/Task/task.c" 2 # 1 "../../../Package/OS/Task/cfg/task_header.h" 1 # 1 "../../../Package/OS/Task/cpu_port/Zhixin\\task_hal.h" 1 # 1 "../../../Package/OS/Task/cpu_port/Zhixin/task_hal_cfg.h" 1 # 5 "../../../Package/OS/Task/cpu_port/Zhixin\\task_hal.h" 2 # 1 "../Src\\spi_func.h" 1 void InitSPI(void); void GPT_Notif_SPI(void); void Spi_Drv_ExternalDeviceConfig_SpiExternalDevice_0(void); int8_t TaskLMM(struct pt *pt1 ); int8_t TaskEX_WDT(struct pt *pt1 ); # 8 "../../../Package/OS/Task/cpu_port/Zhixin\\task_hal.h" 2 # 1 "../Src\\can_func.h" 1 int8_t TaskCAN(struct pt *pt1 ); # 9 "../../../Package/OS/Task/cpu_port/Zhixin\\task_hal.h" 2 typedef void (* func )(void); void InitLEDPort(void); void InitWdt(void); void SysTick_Handler(void); void Task_SysTick_Handler(void); int8_t TaskBlinLed(struct pt *pt1 ); int8_t TaskWDT(struct pt *pt1 ); # 5 "../../../Package/OS/Task/cfg/task_header.h" 2 # 4 "../../../Package/OS/Task/task.c" 2 # 13 "../../../Package/OS/Task/task.c" int8_t TaskTimer(struct pt *pt1); TASK_DATA TaskDb[]={ {1, TASK_MODE_PERIOD, TASK_ID_TaskTimer, "TaskTimer", 10L, 10L, TaskTimer,{0}} , # 1 "../../../Package/OS/Task/cfg/task_container.h" 1 {1, TASK_MODE_PERIOD, TASK_ID_TaskBlinLed, "TaskBlinLed", 100L, 100L, TaskBlinLed, {0}} , {1, TASK_MODE_PERIOD, TASK_ID_TaskWDT, "TaskWDT", 1000L, 1000L, TaskWDT, {0}} , {1, TASK_MODE_PERIOD, TASK_ID_TaskEX_WDT, "TaskEX_WDT", 1000L, 1000L, TaskEX_WDT, {0}} , {1, TASK_MODE_PERIOD, TASK_ID_TaskLMM, "TaskLMM", 1L, 1L, TaskLMM, {0}} , {1, TASK_MODE_PERIOD, TASK_ID_TaskCAN, "TaskCAN", 1L, 1L, TaskCAN, {0}} , # 19 "../../../Package/OS/Task/task.c" 2 }; static TIMER_DATA TimerData[5]; static volatile uint32_t TMP1msCount = 0; __attribute__((weak)) void idle(void) { } void TaskProc(void) { uint32_t i = 0; while(1) { if(!TMP1msCount) { idle(); } else { for(i=0;icUse) continue; if((--(pt->lLastTime))<=0) { switch(pt->cMode) { case TIMER_MODE_TIMER: pt->cUse=0; break; case TIMER_MODE_CYCROUTINE: pt->lLastTime+=pt->lPeriod; pt->routine(pt->Param1); break; case TIMER_MODE_ONCEROUTINE: pt->cUse=0; pt->routine(pt->Param1); break; default: pt->cUse=0; break; } } } (void)(pt1); return 0; } volatile uint64_t AllTickCount = 0; void Task_SysTick_Handler(void) { AllTickCount++; TMP1msCount++; }