goodprog.c

来自「Vxworks的培训教程,大家分享下啊,」· C语言 代码 · 共 62 行

C
62
字号
/* goodProg.c - fixes badProg.c */#include "vxWorks.h"#include "semLib.h"#include "stdio.h"#include "taskLib.h"#include "sysLib.h"void foo(char flag);LOCAL SEM_ID semId;STATUS startFoo (char *pPrintStr)	{	char flag;	flag = *pPrintStr;	if (semId == NULL)		{				if ((semId = semMCreate (SEM_Q_PRIORITY |							SEM_DELETE_SAFE |							SEM_INVERSION_SAFE)) == NULL)			{			perror ("semMCreate failed");			return ERROR;			}		}	if (taskSpawn ("tFoo", 200, 0, 5000, 						(FUNCPTR) foo, flag,						0,0,0,0,0,0,0,0,0) == ERROR)		{		perror ("taskSpawn failed");		return (ERROR);		}		taskDelay (sysClkRateGet () * 5);	return (OK);	}void foo (char flag)	{	FOREVER		{		if (semTake (semId, WAIT_FOREVER) == ERROR)			{			perror ("semTake failed");			return;			}		if (flag == 'y')			printf ("Critical nonsense...\n");		semGive (semId);		taskDelay (sysClkRateGet() * 3);		}	}

⌨️ 快捷键说明

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