?? 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 + -