主题 : 怎么关看门狗 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 9515
精华: 0
发帖: 78
金钱: 440 两
威望: 112 点
综合积分: 156 分
注册时间: 2009-10-03
最后登录: 2013-05-06
楼主  发表于: 2011-04-14 13:59

 怎么关看门狗

QT里面用到看门狗,我会定时喂狗,但有时候我想停止看门狗。


打开看门狗
fd_dog = open("/dev/watchdog", O_RDWR);
  
   printf("fd_dog is open");
   if (fd_dog<0)
   {
      printf("Error: open watchdog error.\n");
      exit(1);
   }

我试了两个方法,
1                char a='V';     //看门狗底层驱动 里面如果写入V 会停止
    ::write(fd_dog,&a, 1);

  看门狗还是没用关闭
? 不知道咋回事?
2   release(fd_dog)  编译器提示 release  没声明   具体怎么用?


看门狗的底层驱动操作结构如下

static const struct file_operations s3c2410wdt_fops = {
    .owner        = THIS_MODULE,
    .llseek        = no_llseek,
    .write        = s3c2410wdt_write,
    .unlocked_ioctl    = s3c2410wdt_ioctl,
    .open        = s3c2410wdt_open,
    .release    = s3c2410wdt_release,
};
级别: 侠客
UID: 9515
精华: 0
发帖: 78
金钱: 440 两
威望: 112 点
综合积分: 156 分
注册时间: 2009-10-03
最后登录: 2013-05-06
1楼  发表于: 2011-04-14 16:25
解决了  
::write(fd_dog,&a, 1);
::close(fd_dog);
这样才行 不知道为什么?

另这个.release    = s3c2410wdt_release,  不知道怎么用 有使用过的 告诉下 谢