4msgq.c

来自「结合三星的4510ARM处理器 和VXworks 操作系统,的几个源程序,有助于」· C语言 代码 · 共 41 行

C
41
字号
#include "vxWorks.h"
#include "msgQLib.h"

void taskOne(void);
void taskTwo(void);

#define MAX_MESSAGES 100
#define MAX_MESSAGE_LENGTH 50

MSG_Q_ID msgQId;

void message(void)
{
	
	if( ( msgQId=msgQCreate(MAX_MESSAGES,MAX_MESSAGE_LENGTH,MSG_Q_FIFO) ) ==NULL)
		printf("message create failed");
	taskSpawn("taskone",90,0x100,2000,taskOne,0,0,0,0,0,0,0,0,0,0);
	taskSpawn("tasktwo",90,0x100,2000,taskTwo,0,0,0,0,0,0,0,0,0,0);	
	
}

void taskOne(void)
{
	char message[50]="received message from taskOne";
	
	if(msgQSend(msgQId,message,MAX_MESSAGE_LENGTH,WAIT_FOREVER,MSG_PRI_NORMAL)==ERROR)
		printf("msg send error");	
	
}

void taskTwo(void)
{
	char msgBuf[MAX_MESSAGE_LENGTH];
	
	if(msgQReceive(msgQId,msgBuf,MAX_MESSAGE_LENGTH,WAIT_FOREVER)==ERROR)
		printf("msg receive error");
	else 
		printf("message is ::%s \n",msgBuf);
	msgQDelete(msgQId);
	
}

⌨️ 快捷键说明

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