📄 semb.c
字号:
#include "vxWorks.h"#include "semLib.h"SEM_ID semB_id;/* SEM_Q_FIFO (0x0) SEM_Q_PRIORITY (0x1) SEM_DELETE_SAFE (0x4) SEM_INVERSION_SAFE (0x8) SEM_EVENTSEND_ERR_NOTIFY (0x10)*/void semBTask(SEM_ID semId){ FOREVER { printf("[%s] task is waiting for a BINARY semaphore... -- loop\n",taskName(0)); if(semTake(semId,WAIT_FOREVER)==ERROR) { printErr("semTake failed\n"); } else { printf("[%s] task take a semaphore.\n",taskName(0)); printf(" I am doing something .....!!! \n\n"); taskDelay(300); } }}void testB(){ semB_id = semBCreate(SEM_Q_PRIORITY, SEM_EMPTY); printf("Semphore created!\n"); printf("semB_id = 0x%8x \n",semB_id); taskSpawn("semBTask",100,0,1000,semBTask,semB_id,2,3,4,5,6,7,8,9,0);}void giveB(){ semGive(semB_id);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -