vxworks 看门狗.txt

来自「3个vxworks 程序」· 文本 代码 · 共 53 行

TXT
53
字号
/*head file*/
#include "vxworks.h"
#include "logLib.h"
#include "taskLib.h"
#include "wdLib.h"
#include "stdio.h"
#include "sysLib.h"
/*macro declare*/
#define DELAY_SECONDS 5
/*varible*/
WDOG_ID wdogid;
int delay_sec;
int loop_sec;
int clk_rate;
/*func declare*/
void watchdog_service(void);
void watchdog_routine(void);
void wdogStart(void);
/**********/
void wdogStart(void)
{
	loop_sec=0;
	if((wdogid=wdCreate())==NULL)
	{
		printf("create watchdog fail\n");
		return;
	}
	clk_rate=sysClkRateGet();
	delay_sec=clk_rate*DELAY_SECONDS;
	
	wdStart(wdogid,delay_sec,(FUNCPTR)watchdog_service,0);
	watchdog_routine();
	wdCancel(wdogid);
}
void watchdog_service(void)
{
	logMsg("\nthis message is sent by wdogtimer!\n",0,0,0,0,0,0);
	loop_sec = 0;
}
void watchdog_routine(void)
{
	int i;
	loop_sec++;
	for(i=0;i<6;i++)
	{
		taskDelay(clk_rate);
		if(loop_sec)
		printf("%d.....",i+1);
	}
	printf("i = %d \n",i);
	printf("Test Over !\n");
}

⌨️ 快捷键说明

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