timertest3.c

来自「三星arm s3c4510 evm 板测试程序 本人以在开发板上测试过了 包」· C语言 代码 · 共 50 行

C
50
字号

void windDemo(void)
{
 semHighId=semBCreate(SEM_Q_PRIORITY,SEM_FULL);
 semLowId=semBCreate(SEM_Q_PRIORITY,SEM_FULL);
 wdHighId=wdCreate();
 wdLowId=wdCreate();
 windDemoId=taskIdSelf();
 
 FOREVER
 {        
 highPriId=taskSpawn("tHighPri",100,VX_SUPERVISOR_MODE,4000
,(FUNCPTR)taskHighPri,0,0,0,0,0,0,0,0,0,0);
 lowPriId=taskSpawn("tLowPri",150,VX_SUPERVISOR_MODE,4000,(
FUNCPTR)taskLowPri,0,0,0,0,0,0,0,0,0,0);
 taskSuspend(0);
 }
}
LOCAL void taskHighPri(void)
{
 for(;;)
 {
  printf("This is from taskHighPri Task!\n");
  wdStart (wdHighId, 0.05*sysClkRateGet(), 
(FUNCPTR) HighCollectRoutine, (int) wdHighId);
  semTake (semHighId, WAIT_FOREVER);
 }
}
LOCAL void taskLowPri(void)
{
 for(;;)
 {
  printf("This is from    taskLowPri  Task !\n");
  wdStart (wdLowId, sysClkRateGet(), 
(FUNCPTR) LowCollectRoutine, (int) wdLowId);
  semTake (semLowId, WAIT_FOREVER);
 }
}
void HighCollectRoutine(WDOG_ID myWdId)
{    
  wdStart (myWdId, 0.05*sysClkRateGet(), (FUNCPTR)
HighCollectRoutine, (int) myWdId);
 semGive(semHighId);
}
void LowCollectRoutine(WDOG_ID myWdId)
{    
  wdStart (myWdId, sysClkRateGet(), (FUNCPTR) 
LowCollectRoutine, (int) myWdId);
 semGive(semLowId);
}

⌨️ 快捷键说明

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