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

📄 salvoscg.h

📁 嵌入式操作系统Salvo 在单片机C8051F350上的移植
💻 H
字号:
/************************************************************ 
Copyright (C) 1995-2002 Pumpkin, Inc. and its
Licensor(s). Freely distributable.

$Source: C:\\RCS\\d\\salvo\\inc\\salvoscg.h,v $
$Author: aek $
$Revision: 3.9 $
$Date: 2003-07-24 15:18:15-07 $

This file is used in conjunction with salvomcg.h. This
is the "single call graph" (i.e. scg) file, which is
used to undo the effects of salvomcg.h wherever it is
used.

For functions that can be called from the foreground and
the background simultaneously, some compilers need
special directives, etc. to handle the multiple call
graphs. This occurs when the parameter and auto variable
storage is not stack-based.  To use, the source code
should have the following form:

    #define __OSFNNAME_MODULENAME_C
    #include <salvomcg.h>
    Function body
    #include <salvoscg.h>
    #undef __OSFNNAME_MODULENAME_C
    
See comments in salvomcg.h on why this file doesn't have
include guards.


************************************************************/


/************************************************************
****                                                     ****
**                                                         **
This "undoes" the internal interrupt control (critical
section protection) and other function-specific stuff 
for all those functions that are affected by OSCALL_OSXYZ, 
etc.

**                                                         **
****                                                     ****
************************************************************/
#if defined(__OSCREATEBINSEM_BINSEM_C)  \
 || defined(__OSCREATECYCTMR_CYCLIC_C)  \
 || defined(__OSCREATEEFLAG_EFLAG_C)    \
 || defined(__OSCREATEEVENT_EVENT_C)    \
 || defined(__OSCREATEMSG_MSG_C)        \
 || defined(__OSCREATEMSGQ_MSGQ_C)      \
 || defined(__OSCREATESEM_SEM_C)        \
 || defined(__OSGETPRIOTASK_PRIO_C)     \
 || defined(__OSGETSTATETASK_TASK5_C)   \
 || defined(__OSMSGQCOUNT_MSGQ4_C)      \
 || defined(__OSMSGQEMPTY_MSGQ3_C)      \
 || defined(__OSRETURNBINSEM_BINSEM2_C) \
 || defined(__OSRETURNEFLAG_EFLAG2_C)   \
 || defined(__OSRETURNMSG_MSG2_C)       \
 || defined(__OSRETURNMSGQ_MSGQ2_C)     \
 || defined(__OSRETURNSEM_SEM2_C)       \
 || defined(__OSSIGNALBINSEM_BINSEM_C)  \
 || defined(__OSSIGNALEFLAG_EFLAG_C)    \
 || defined(__OSSIGNALEVENT_EVENT_C)    \
 || defined(__OSSIGNALMSG_MSG_C)        \
 || defined(__OSSIGNALMSGQ_MSGQ_C)      \
 || defined(__OSSIGNALSEM_SEM_C)        \
 || defined(__OSSTARTTASK_TASK_C)      
     
    /* PICC, V8C: restore default values for      		*/
    /*  OSEnter/ExitCritical():                   		*/
	#if  ( OSCOMPILER == OSHT_PICC ) || ( OSCOMPILER == OSHT_V8C )
        #undef OSBeginCriticalSection
        #undef OSEndCriticalSection
        #define OSBeginCriticalSection()   OSEnterCritical() 
        #define OSEndCriticalSection()     OSLeaveCritical()
    #endif


    /* Keil C51: Undo #pragma NOAREGS            		*/
	#if  ( OSCOMPILER == OSKEIL_C51 )
        #pragma AREGS
    #endif

#endif 

⌨️ 快捷键说明

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