test0309.cpp

来自「应用小程序」· C++ 代码 · 共 82 行

CPP
82
字号
#include "vxworks.h"
//#include "stdio.h"
#include "loglib.h"
#include "semLib.h"
#include "taskLib.h"
#include "sysLib.h"

#define STACK_SIZE 2000

SEM_ID dataSemId;
int tidSend;
int tidReceive;

void progStart();
void progStop();
void taskSend();
void taskReceive();
void SendInit();
void ReceiveInit();

void progStart()
{
	dataSemId = semBCreate( SEM_Q_FIFO, SEM_EMPTY );
	
	tidSend = taskSpawn( "tSend", 200, 0, STACK_SIZE, (FUNCPTR)taskSend,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0 );
	tidReceive = taskSpawn( "tReceive", 220, 0,  STACK_SIZE, (FUNCPTR)taskReceive,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0 );
	return;
}

void taskSend()
{
	SendInit();
	
	while(1)
	{
		taskDelay( sysClkRateGet() * 2 );
		semGive( dataSemId );
	}
	
	return;
}

void taskReceive()
{
	ReceiveInit();
	
	while(1)
	{
		semTake( dataSemId, WAIT_FOREVER );
		logMsg("\nReceive a data!\n",0,0,0,0,0,0);
	}

	return;
}

void SendInit()
{
	logMsg("\nInitial SendTask\n",0,0,0,0,0,0);
	return;
}

void ReceiveInit()
{
	logMsg("\nInitial ReceiveTask\n",0,0,0,0,0,0);
	return;
}

void progStop()
{
	semDelete( dataSemId );
	
	taskDelete( tidSend );
	taskDelete( tidReceive );

	logMsg("\nThe End\n",0,0,0,0,0,0);

	return;
}

⌨️ 快捷键说明

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