📄 cxvendor.h
字号:
/* for KEIL 8051 "C" tools */
#ifdef CMXMODULE
/* #include <reg51.h> */
#endif
#define PROCESSOR 8051
#define PROC_DISABLE_INT K_OS_Disable_Interrupts()
#define PROC_ENABLE_INT K_OS_Enable_Interrupts()
#define PROC_SAVE_INT K_OS_Save_Interrupts()
#define PROC_RESTORE_INT K_OS_Restore_Interrupts()
typedef void (code *CMX_FP)();
/* load in tasks STACK address. */
/* adjust stack memory block. */
#define CXTCRE_SPECIFIC() {tcbptr->stk_save = stack_blk; stack_blk += stack_size / 2; tcbptr->stk_start = stack_blk - 1;}
#ifdef CMX_INIT_MODULE
byte data locked_out; /* disable task switching */
byte data pipe_bytes_left; /* bytes free in CMX interrupt pipe */
byte data in_ctr; /* position within interrupt pipe to place bytes */
byte data out_ctr; /* position within interrupt pipe to remove bytes */
byte data cmx_flag1; /* contains flags, for CMX internal use */
byte data pipe_slots_avail; /* pipe slots free. */
byte data ie_holder;
#else
extern byte data locked_out;
extern byte data in_ctr;
extern byte data out_ctr;
extern byte data cmx_flag1;
extern byte data ie_holder;
#endif
#ifdef CMXTRACKER
extern byte xdata CMXTRACKER_ON;
#endif
#define preempted 0x01 /* preempted flag */
#define do_timer_tsk 0x02 /* do timer task flag */
#define do_time_slice 0x04 /* do time slice, next task to slice */
#define slice_enable 0x08 /* time slicing enabled */
#define do_coop_sched 0x10 /* do a cooperative schedule, to NEXT task that can run */
#define do_int_pipe 0x20 /* process interrupt pipe */
#define idle_flag 0x40 /* helps determines power down mode */
#define cmx_active 0x80 /* identifies that CMX RTOS entered */
#define PREEMPTED cmx_flag1 |= preempted
#define TEST_NOT_PREEMPTED !(cmx_flag1 & preempted)
#define DO_TIMER_TSK cmx_flag1 |= do_timer_tsk
#define DO_TIME_SLICE cmx_flag1 |= do_time_slice
#define TEST_SLICE_ENABLE cmx_flag1 & slice_enable
#define SLICE_DISABLE cmx_flag1 &= ~slice_enable
#define SLICE_ENABLE cmx_flag1 |= slice_enable
#define DO_COOP_SCHED cmx_flag1 |= do_coop_sched
#define DO_INT_PIPE cmx_flag1 |= do_int_pipe
#define CLR_DO_INT_PIPE cmx_flag1 &= ~do_int_pipe
#define TEST_CMX_ACTIVE cmx_flag1 & cmx_active
#define CMX_ACTIVE cmx_flag1 |= cmx_active
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -