⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wtd-d501.c

📁 嵌入式linux环境下 mx系列 看门狗的测试程序。
💻 C
字号:
//Copy from Documentation\watchdog.txt  Example Watchdog Driver//xtp-d501//-----------------------#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <fcntl.h>#include <sys/ioctl.h>#include <linux/watchdog.h>int main(int argc, char *argv[]){	int fd,sleepval,mode,ret;	unsigned long setval;	if(argc < 4){		printf("Usage:%s [timeout][sleep][mode]\n",argv[0]);		printf("  timeout:value in seconds to cause wdt timeout/reset\n");		printf("  sleep:  value in seconds to service the wdt\n");		printf("  mode:   0/Service wdt with ioctl(), 1/with write()\n");		return 0;		}	fd = open("/dev/misc/watchdog",O_WRONLY);	if(fd < 0)	{		printf("dev/misc/watchdog can't open! \n");		return 1;	}	else printf("/dev/misc/watchdog/: fd = %d \n", fd);		setval = atoi(argv[1]);	sleepval = atoi(argv[2]);	mode = atoi(argv[3]);	printf("%d %d %d\n",(int)setval,sleepval,mode);		ret = ioctl(fd,WDIOC_SETTIMEOUT,&setval);	if(ret != 0)		printf("set timeout fail,default=60 sec\n");	//setval = ioctl(fd,WDIOC_GETTIMEOUT,setval);	//printf("%d %d %d\n",(int)setval,sleepval,mode);			while(1){		if(mode == 1)				write(fd,"\0",1);		else{			ret = ioctl(fd,WDIOC_KEEPALIVE,0);			printf("ret %d\n",ret);		}		printf("service ok\n");		sleep(sleepval);	}	return 0;}

⌨️ 快捷键说明

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