RTOS-定义空闲任务
- //空闲任务堆栈
- static StackType_t Idle_Task_Stack[configMINIMAL_STACK_SIZE];
- //定时器任务堆栈
- static StackType_t Timer_Task_Stack[configTIMER_TASK_STACK_DEPTH];
- //空闲任务控制块
- static StaticTask_t Idle_Task_TCB;
- //定时器任务控制块
- static StaticTask_t Timer_Task_TCB;
- //获取空闲任务的任务堆栈和任务控制块内存,因为本例程使用的是静态内存
- //因此空闲任务的任务堆栈由用户来提供,接口函数就是下面这个函数
- //ppxIdleTaskTCBBuffer:任务控制块内存
- //ppxIdleTaskStackBuffer:任务堆栈内存
- //pulIdleTaskStackSize:任务堆栈大小
- void vApplicationGetIdleTaskMemory(StaticTask_t **ppxIdleTaskTCBBuffer,
- StackType_t **ppxIdleTaskStackBuffer,
- uint32_t *pulIdleTaskStackSize)
- {
- *ppxIdleTaskTCBBuffer=&Idle_Task_TCB;
- *ppxIdleTaskStackBuffer=Idle_Task_Stack;
- *pulIdleTaskStackSize=configMINIMAL_STACK_SIZE;
- }
- //获取定时器任务的任务堆栈和任务控制块内存
- //ppxTimerTaskTCBBuffer:任务控制块内存
- //ppxTimerTaskStackBuffer:任务堆栈内存
- //pulTimerTaskStackSize:任务堆栈大小
- void vApplicationGetTimerTaskMemory(StaticTask_t **ppxTimerTaskTCBBuffer,
- StackType_t**ppxTimerTaskStackBuffer,
- uint32_t *pulTimerTaskStackSize)
- {
- *ppxTimerTaskTCBBuffer=&Timer_Task_TCB;
- *ppxTimerTaskStackBuffer=Timer_Task_Stack;
- *pulTimerTaskStackSize=configTIMER_TASK_STACK_DEPTH;
- }
|