1234567891011121314151617181920212223242526272829303132333435363738 |
- #ifndef SN_DDQ_H
- #define SN_DDQ_H
- #include "ciu32f003_std.h"
- #define TASK_MAX_LEN 32U //最大任务数 0 - 255
- #define TASK_TIME_ATOM 320U //最小时间片
- //任务头
- typedef struct
- {
- uint16_t counter_arr; //计数器重装值
- void (*SN_DDQ_TASK)(void) ; //任务函数
- uint16_t counter; //任务计数器
-
- }SN_DDQ_TASK_t;
- //调度器数据,全局唯一
- struct SN_DDQ_t
- {
- uint8_t TASK_LEN; //任务数组长度
- SN_DDQ_TASK_t * SN_TASK_ARR[TASK_MAX_LEN]; //任务数组
- };
- void SN_DDQ_init(void); //调度器模块初始化
- void SN_DDQ_TASK_ADD( SN_DDQ_TASK_t * MY_TASK ); //添加任务
- void SN_DDQ_RUN(void); //调度器运行
- #endif
|