📄 4msgq.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -