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

📄 port.h

📁 这是状态机的一个框架结构的例子,可以作为状态机的基本架构
💻 H
字号:
/******************************************************************** 
 * Quantum Framework RTT32 port declarations (C version)
 * (c) Copyright 2001, Miro Samek, Palo Alto, CA
 * All Rights Reserved
 *******************************************************************/
#ifndef port_h
#define port_h

#include "qf_rtt32.h"
#include "qfpkg.h"

/* RTT32-specific critical section operations */
#define QF_PROTECT()          RTDisableInterrupts()
#define QF_UNPROTECT()        RTEnableInterrupts()
#define QF_ISR_PROTECT()
#define QF_ISR_UNPROTECT()

/* RTT32-specific event queue operations */
#define QF_EQUEUE_INIT(q_)    (1)
#define QF_EQUEUE_CLEANUP(q_) 
#define QF_EQUEUE_WAIT(q_)    ASSERT(0)
#define QF_EQUEUE_SIGNAL(q_)  (pkgRdyMask |= (q_)->osEvent__)
#define QF_EQUEUE_ONEMPTY(q_) \
   if ((q_)->nUsed__ == 0) { \
      pkgRdyMask &= ~(q_)->osEvent__; \
   } else

/* RTT32-specific event pool operations */
#define QF_EPOOL              QEPool
#define QF_EPOOL_INIT(p_, poolSto_, nEvts_, evtSize_) \
   QEPoolCtor(p_, poolSto_, nEvts_, evtSize_); 
#define QF_EPOOL_GET(p_, e_)  ((e_) = (QEvent *)QEPoolGet(p_))
#define QF_EPOOL_PUT(p_, e_)  (QEPoolPut(p_, e_))

         /* the following constant may be bumped up to 15 (inclusive)
          * before redesign of algorithms is necessary
          */ 
enum { QF_MAX_ACTIVE = 8 };

/* package-scope variables */
extern unsigned char pkgRdyMask;

#endif                                                   /* port_h */

⌨️ 快捷键说明

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