OS_CPU.H
Upload User: aolinlc
Upload Date: 2014-01-01
Package Size: 591k
Code Size: 2k
Category:

SCM

Development Platform:

C/C++

  1. /*********************************************************************************************************
  2. **                                Small RTOS 51
  3. **                                   The Real-Time Kernel For Keil c51
  4. **
  5. **                                  (c) Copyright 2002-2002, chenmingji
  6. **                                           All Rights Reserved
  7. **
  8. **                                                  V1.00
  9. **
  10. **
  11. ** 文件名: OS_CPU.h
  12. ** 创建人: 陈明计
  13. ** 日 期: 2002年6月20日
  14. ** 描 述: Small RTOS 51与CPU(既8051系列)相关的C语言头文件,定义一些与CPU相关的宏.
  15. **
  16. **------------------------------------------------------------------------------------------------------
  17. ** 修改人:
  18. ** 日 期:
  19. ** 描 述:
  20. **
  21. **------------------------------------------------------------------------------------------------------
  22. ********************************************************************************************************/
  23. #define EN_SP2        0                         /* 禁止(0)或允许(1)软非屏蔽中断               */
  24. #ifdef __C51__
  25. #if EN_OS_INT_ENTER >0 
  26. #define  OS_INT_ENTER() OSIntNesting++,EA=1
  27. #endif
  28. #define  OS_ENTER_CRITICAL()  EA = 0            /* 禁止中断                                     */
  29. #define  OS_EXIT_CRITICAL()   EA = 1            /* 允许中断                                     */
  30. #define  HIGH_BYTE  0                           /* int的高位字节                                 */
  31. #define  LOW_BYTE   1                           /* int的低位字节                                 */
  32. #define  OS_TASK_SW()         OSCtxSw()         /* 任务切换函数                                  */
  33. #define  IDATA_RAM_SIZE  0x100                  /* idata大小                                    */
  34. extern void OSCtxSw(void);
  35. extern void OSIntCtxSw(void);
  36. #ifndef IN_OS_CPU_C
  37. extern void OSStart(void);
  38. #endif
  39. #define  Sp2Space       4                       /* 高级中断(软非屏蔽中断)堆栈大小 EN_SP2为0时无效*/
  40. #define OS_TIME_ISR     1                       /* 系统定时器使用的中断                                       */
  41. #endif
  42. #ifndef __C51__
  43. SET_EA   MACRO                                 ;打开所有允许中断
  44.              SETB     EA
  45.          ENDM
  46.          
  47. #endif