| 1234567891011121314151617181920212223 |
- #ifndef _OS_TASK_H__
- #define _OS_TASK_H__
- /*
- Task如果没有调用task_yield/delay 永远执行下去
- */
- typedef void (*task_func)(void *);
- typedef enum {
- Task_Pending,
- Task_Blocking,
- Task_Running
- }Task_Stat_t;
- typedef struct {
- u32 pstack; //stack addr
- u16 stack_size; //stack size
- Task_Stat_t stat; //task stat, running, pending, blocked
- }tcb_t;
- void task_create(void *stack, u16 stack_size, task_func func, void *param);
- void task_delay(int ms); //task 延时
- void task_yield(void); //task 让出cpu
- void task_sched(void); //task开始调度
- #endif /*_OS_TASK_H__*/
|