⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 os_cpu.h

📁 单片机C语言参考程序
💻 H
字号:
/*********************************************************************************************************
**				                               Small RTOS 51
**                                   The Real-Time Kernel For Keil c51
**
**                                  (c) Copyright 2002-2003, chenmingji
**                                           All Rights Reserved
**
**                                                  V1.20.0
**
**
**--------------文件信息--------------------------------------------------------------------------------
**文   件   名: OS_CPU.h
**创   建   人: 陈明计
**版        本: V1.20.0
**最后修改日期:  2003年8月17日
**描       述: Small RTOS与CPU(既pc2106/lpc2105/lpc2104)相关的C语言头文件,定义一些与CPU相关的宏。
**
**--------------历史版本信息----------------------------------------------------------------------------
** 创建人: 陈明计
** 版  本: V1.20.0
** 日 期: 2003年8月17日
** 描 述: 原始版本
**
**--------------当前版本修订------------------------------------------------------------------------------
** 修改人: 
** 日 期:
** 描 述:
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#define idata                                   /* 非keil c51时必须加止这一句                               */
#define data                                    /* 非keil c51时必须加止这一句                               */
#define xdata                                   /* 非keil c51时必须加止这一句                               */
#define reentrant                               /* 非keil c51时必须加止这一句                               */
#define small                                   /* 非keil c51时必须加止这一句                               */
#define code                                    /* 非keil c51时必须加止这一句                               */


/**********************************************************************************************************
*                    定义与编译器无关的数据类型
**********************************************************************************************************/

typedef unsigned char  uint8;                    /* 无符号8位整型变量                        */
typedef signed   char  int8;                    /* 有符号8位整型变量                        */
typedef unsigned short uint16;                  /* 无符号16位整型变量                       */
typedef signed   short int16;                   /* 有符号16位整型变量                       */
typedef unsigned int   uint32;                  /* 无符号32位整型变量                       */
typedef signed   int   int32;                   /* 有符号32位整型变量                       */


/* *********************************************************************************************************
*                    与ARM7体系结构相关的一些定义
**********************************************************************************************************/

extern void OSCPUInit(void);
extern void OSTaskStkInit(void (*task)(void), void *ptos, uint8 TaskID);
extern void OSTaskStkDel(uint8 TaskID) small;

#ifndef NULL
#define NULL 0
#endif

__swi(0x00) void OS_TASK_SW(void);              /*  任务级任务切换函数          */

__swi(0x02) void OS_ENTER_CRITICAL(void);       /*  关中断                      */
__swi(0x03) void OS_EXIT_CRITICAL(void);        /*  开中断                      */


__swi(0x80) void ChangeToSYSMode(void);         /*  任务切换到系统模式          */
__swi(0x81) void ChangeToUSRMode(void);         /*  任务切换到用户模式          */
__swi(0x82) void TaskIsARM(uint8 TaskID);       /*  任务代码是ARM代码           */
__swi(0x83) void TaskIsTHUMB(uint8 TaskID);     /*  任务代码是THUMB             */

extern void OSIntCtxSw(void);

#define     USR32Mode       0x10                /*  用户模式                    */
#define     SYS32Mode       0x1f                /*  系统模式                    */
#define     NoInt           0x80

#ifndef USER_USING_MODE
#define	USER_USING_MODE	USR32Mode               /*  任务缺省模式                 */
#endif

#define OSIntCtxSw()


/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -