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

📄 extdefine.h

📁 minitos是一个实时的嵌入式操作系统
💻 H
字号:
/*
	miniTOS V0.1.4  1998-2005 (c) 林良水 (Lin LS)
	miniTOS是一个开放源码的软件,授权LGPL,但开发人员不保证本软件的可靠性,
以及对您的损失负任何责任。
	www.minitos.com

	本文实现miniTOS 声明。
	
	Bug report: mail to (林良水) testmyself@163.net
*/

#include "minitosdef.h"

extern struct ProcTbl Proc[N_PROC];
extern struct ProcTbl  * ptrCurrProc;  /* pointer for Current Proc[n] */
extern int CurrProc;
extern struct ProcTbl * ptrTaskRdy[N_TASK_PRIO]; //0--highest,N_TASK_PRIO-1 is lowest for task
				// 0..7
extern struct ProcTbl * ptrServerRdy; //[N_SERVER_PRIO];//server priority is lower than task
				//Server priority is from N_TASK_PRIO to ...
				// now only one is 8
extern struct ProcTbl * ptrProcRdy; //[N_PROC_PRIO];  //user process priority is lower than server
				// 9
				// idle process priority is 10
extern struct ProcTbl * ptrIdle;
extern struct ProcTbl * ptrSleepProc;

extern void	lock_int(void);
extern	void 	switch_task(void);
extern void	unlock_int(void);
extern void	sched(void);

extern void 	StartPIO(void);
extern void	StartMemoryMap(void);

extern void ready(PROC *rp);
extern void unready(PROC *rp);

extern int SendMessage(struct ProcTbl * dest,void * Msg);

extern int ReceiveMessageSuspend(void * Msg);

extern MAILBOX	* CreatMailBox(MAILBOX	* ptrMailBox,void * MailBoxBuf);

extern int SendMailBox(struct ProcTbl * dest, MAILBOX	* ptrMailBox,void *Msg);
extern int ReceiveMailBoxSuspend(MAILBOX * ptrMailBox,void *Msg);

extern SEMPORE	* CreateSempore(SEMPORE	* ptrSempore,int Count);
extern int ReleaseSempore(SEMPORE	* ptrSempore);
extern int SemporeWaitSuspend(SEMPORE	* ptrSempore);

extern void Sleep(int sec);
extern void DelayTicks(int Ticks);
extern void Delay100ms(int i);

extern PROC *	FindLastPos(PROC *head);
extern PROC *	FindProcPos(PROC *head,PROC *rp,int *cnt);
extern PROC *  AddLinkToProcLastPos(PROC *head,PROC *pProc);
extern int RemoveProcFromProcLink(PROC *head,PROC *pProc);

extern void SwitchTaskTimeOver(void);
extern void ChangeProcPos(PROC *rp);
extern void InitProcIPtoNULL(void);
extern PROC * CreatProcess(void (*proc)(void),char *StkBottom,int prio,int RunTicks,char RunNow);
extern int ResumeProcess(PROC *proc);
extern int SuspendProcess(PROC *proc);

extern void SignalShell(void);
extern int InitSignal( void (*handler)(int) );
extern int StartSignal(int SignalMask);
extern int Signal(PROC *proc,int signal);

TISR * CreateTISR(TISR *tisr,void (*tisr_proc)(void),char *StkBottom,int prio);

#ifdef SEM_NO_MALLOC

extern SEMPORE SysSem[];	
extern int gSysSemUsed;

#else
#endif

⌨️ 快捷键说明

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