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

📄 task_ini.c

📁 基于vxworks操作系统的电话语音平台系统
💻 C
字号:

#include "PUB\PUB_INCL.H"
#include "PUB\ISDN_PUB.H"
#include "PUB\PUB__MSG.H"
#include "PUB\CONFIG.H"
#include "RTOS\VXWORKS\TASK\TASK_VXW.H"


/* Define prototypes for function references.  */
MSG_Q_ID Lapv_Q_ID;
MSG_Q_ID Lapd_Q_ID;
MSG_Q_ID Q931_Q_ID;
MSG_Q_ID Qmc_Q_ID;
MSG_Q_ID SysManager_Q_ID;



int TLapvId;
int TLapdId;
int TQ931Id;
int TPeriodicId;
int TWorkLedId;
int TQmcSendId;
int TQmcRecvId;
int TSysManagerId;
int Mc145572Id;

#ifdef DEBUG_TEST_QMC
int TestQmcTaskId;
#endif


SEM_ID SemEthernetSend_ID;
SEM_ID SemQMCHdlcSend_ID;
SEM_ID SemEthernetInit_ID;



EXTERN VOID tcpServerTask(VOID);
EXTERN VOID LapvTask(VOID);
EXTERN VOID LapdTask(VOID);
EXTERN VOID Q931Task(VOID);
EXTERN VOID PeriodicTask(VOID);
EXTERN VOID WorkLedTask(VOID);
EXTERN VOID QmcSendTask(VOID);
EXTERN VOID QmcRecvTask(VOID);
EXTERN VOID SysManagerTask(VOID);
EXTERN VOID Mc145572Task(VOID);

#ifdef DEBUG_TEST_QMC
EXTERN VOID TestQmcTask(VOID);
#endif


VOID Application_Initialize(VOID)
{
	/************************************************************************/
	/*                                                                      */
	/*	 			Create each Pipe and Sem in the system.  			    */
	/*																		*/
	/************************************************************************/

	Lapv_Q_ID		= msgQCreate( 128, MAX_MSG_LEN, MSG_Q_FIFO );
	Lapd_Q_ID		= msgQCreate( 256, MAX_MSG_LEN, MSG_Q_FIFO );
	Q931_Q_ID		= msgQCreate( 128, MAX_MSG_LEN, MSG_Q_FIFO );
	Qmc_Q_ID		= msgQCreate( 128, MAX_MSG_LEN, MSG_Q_FIFO );
	SysManager_Q_ID = msgQCreate( 64,  MAX_MSG_LEN, MSG_Q_FIFO );

	SemEthernetSend_ID 	= semMCreate (SEM_Q_FIFO|SEM_DELETE_SAFE);
	SemQMCHdlcSend_ID 	= semMCreate (SEM_Q_FIFO|SEM_DELETE_SAFE);
	SemEthernetInit_ID 	= semMCreate (SEM_Q_FIFO|SEM_DELETE_SAFE);

	/************************************************************************/
	/*                                                                      */
	/*	 					Create each Task in the system.  			    */
	/*																		*/
	/************************************************************************/

	TPeriodicId	= taskSpawn( "tPeriodic",  	PERIODIC_PRI,	VX_SUPERVISOR_MODE, 4096, (FUNCPTR)PeriodicTask,	0,0,0,0,0,0,0,0,0,0);
	TWorkLedId	= taskSpawn( "tWorkLed",   WORKLED_PRI,	VX_SUPERVISOR_MODE, 4096, (FUNCPTR)WorkLedTask,		0,0,0,0,0,0,0,0,0,0);

	TQmcSendId	= taskSpawn( "tQmcSend",	QMCSEND_PRI,	VX_SUPERVISOR_MODE, 4096, (FUNCPTR)QmcSendTask,		0,0,0,0,0,0,0,0,0,0);
	TQmcRecvId	= taskSpawn( "tQmcRecv",	QMCRECV_PRI,	VX_SUPERVISOR_MODE, 4096, (FUNCPTR)QmcRecvTask,		0,0,0,0,0,0,0,0,0,0);

	TLapvId		= taskSpawn( "tLapv",		LAPV_PRI,		VX_SUPERVISOR_MODE, 4096, (FUNCPTR)LapvTask,		0,0,0,0,0,0,0,0,0,0);

	TLapdId		= taskSpawn( "tLapd",		LAPD_PRI,		VX_SUPERVISOR_MODE, 4096*2, (FUNCPTR)LapdTask,		0,0,0,0,0,0,0,0,0,0);

	TQ931Id		= taskSpawn( "tQ931",		Q931_PRI,		VX_SUPERVISOR_MODE, 4096, (FUNCPTR)Q931Task,		0,0,0,0,0,0,0,0,0,0);

	TSysManagerId	= taskSpawn( "tSysManager",	SYS_MANAGER_PRI,VX_SUPERVISOR_MODE, 4096, (FUNCPTR)SysManagerTask,	0,0,0,0,0,0,0,0,0,0);
	Mc145572Id		= taskSpawn( "tMc145572",	Mc145572_PRI,	VX_SUPERVISOR_MODE, 4096, (FUNCPTR)Mc145572Task,	0,0,0,0,0,0,0,0,0,0);


#ifdef DEBUG_TEST_QMC
	TestQmcTaskId	= taskSpawn( "tTestQmc",   TEST_QMC_PRI,	VX_SUPERVISOR_MODE, 4096, (FUNCPTR)TestQmcTask,		0,0,0,0,0,0,0,0,0,0);
#endif

}

⌨️ 快捷键说明

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