📄 rtos.h
字号:
#ifndef _RTOS_H
#define _RTOS_H
#define TASK_MAX 8
#define TASK_USER 3
/*TASK_USR <= 8*/
#if TASK_USER > TASK_MAX
#error "用户任务太多"
#endif
#define USR_EXR_MEM_TOP 0x3ff
/*用户扩展内存最大值*/
#define TASK_STACK_SIZE 128
/*单个任务堆栈大小,至少14*/
#define TASKBLOCK 0
#define TASKRUN 1
#define TASKSLEEP 2
#define TASKRDY 4
extern UCHAR data SYS_STACK_BOTM;
#define get_stack_bottom() SYS_STACK_BOTM=SP/*获取系统堆栈底部地址,必须在主函数里调用*/
typedef struct {
unsigned int task_stack_top;
/*任务堆栈顶部*/
unsigned char task_stack_len;
/*任务堆栈深度*/
unsigned char task_id;
/*任务号*/
unsigned int task_sleepcnt;
/*任务休眠时间*/
unsigned char task_stat;
/*任务状态*/
unsigned char ev_wait;
/*任务等待事件 */
}TCB;
void task_init();
/*任务初始化*/
void task_sleep(uint time);
/*任务休眠 ,主动放弃CPU控制权,时间单位 毫秒*/
void start_task(void);
/*启动任务,在系统初始化完成后*/
void task_creat(unsigned int task,unsigned char taskid);
/*创建任务*/
void task_event_send(unsigned char taskid,unsigned char ev);
/*任务间通信 ,向指定任务号发送事件 */
unsigned char task_event_wait(unsigned char ev);
/*等待一个或多个事件,返回该任务当前事件等待状态*/
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -