📄 timertest1.c
字号:
/* TimerTest.c */
/*********************************************************************
** 函数名称 : TimerDemo
** 功 能 : 启动tHighPri任务
** 入 口 : 无
** 出 口 : 无
** 返 回 : 无。
** 被调函数 : taskSpawn
** 调用函数 :
** 版 本 : V1.0
** 创建日期 : 2006.02.10
** 作 者 : zhyg
** 修改纪录 :
*********************************************************************/
#include "vxWorks.h"
#include "intLib.h"
#include "taskLib.h"
#include "iv.h"
#include "logLib.h"
#include "semLib.h"
#define AUX_CLK_MAX 1
LOCAL SEM_ID semHighId;
LOCAL void taskHighPri(void);
void TimerDemo(void)
{
semHighId=semBCreate(SEM_Q_PRIORITY,SEM_FULL);
taskIdSelf();
FOREVER{
taskSpawn("tHighPri",100,VX_SUPERVISOR_MODE,4000
,(FUNCPTR)taskHighPri,0,0,0,0,0,0,0,0,0,0);
taskSuspend(0);
}
}
/*********************************************************************
** 函数名称 : InterISR
** 功 能 : 辅助时钟的中断服务程序,释放信号量semHighId
** 入 口 : 无
** 出 口 : 无
** 返 回 : 无。
** 被调函数 : semGive
** 调用函数 :
** 版 本 : V1.0
** 创建日期 : 2006.02.10
** 作 者 : zhyg
** 修改纪录 :
*********************************************************************/
void InterISR(void)
{
semGive(semHighId);
}
/*********************************************************************
** 函数名称 : test
** 功 能 : 建立辅助timer与InterISR的中断连接
** 入 口 : 无
** 出 口 : 无
** 返 回 : 无。
** 被调函数 : sysAuxClkDisable sysAuxClkConnect sysAuxClkRateSet sysAuxClkEnable
** 调用函数 : taskHighPri
** 版 本 : V1.0
** 创建日期 : 2006.02.10
** 作 者 : zhyg
** 修改纪录 :
*********************************************************************/
void test(void)
{
sysAuxClkDisable();
/* Disable system aux clock */
sysAuxClkConnect((FUNCPTR)InterISR, 0);
sysAuxClkRateSet(AUX_CLK_MAX); /* Set system
aux clock rate */
sysAuxClkEnable();
}
/*********************************************************************
** 函数名称 : taskHighPri
** 功 能 : 设置中断,并等待信号量
** 入 口 : 无
** 出 口 : 无
** 返 回 : 无。
** 被调函数 : test
** 调用函数 : TimerDemo
** 版 本 : V1.0
** 创建日期 : 2006.02.10
** 作 者 : zhyg
** 修改纪录 :
*********************************************************************/
LOCAL void taskHighPri(void)
{
test();
for(;;)
{
printf("This is from taskHighPri Task!\n");
semTake (semHighId, WAIT_FOREVER);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -