完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
内核选中红框部分,确保有/dev/watchdog #include #include #include #include #include #include "stdio.h" #include #include #include #include #define DEV_NAME "/dev/watchdog" int fd; /* * @brief 初始化看门狗 * @param interval 喂狗时间 * @param margin 喂狗间隔保留时间 * @return int * @create at 2019.09.04 by Eric.Xi */ int watch_dog_init(int interval,int margin) { printf("started (interval %d, margin %d)!n", interval, margin); fd = open(DEV_NAME, O_RDWR|O_CLOEXEC); if (fd == -1) { printf("Failed to open %s: %sn", DEV_NAME, strerror(errno)); return 1; } int timeout = interval + margin; int ret = ioctl(fd, WDIOC_SETTIMEOUT, &timeout); if (ret) { printf("Failed to set timeout to %d: %sn", timeout, strerror(errno)); ret = ioctl(fd, WDIOC_GETTIMEOUT, &timeout); if (ret) { printf("Failed to get timeout: %sn", strerror(errno)); } else { if (timeout > margin) { interval = timeout - margin; } else { interval = 1; } printf("Adjusted interval to timeout returned by driver:" " timeout %d, interval %d, margin %dn", timeout, interval, margin); } } return 0; } /* * @brief 喂看门狗 * @param interval 喂狗时间 * @param fd 看门狗句柄 * @return int * @create at 2019.09.04 by Eric.Xi */ int watch_dog_feed(int fd, int interval) { write(fd, "", 1); sleep(interval); return 0; } /* * @brief 看门狗使用demo * @return int * @create at 2019.09.04 by Eric.Xi */ int main(int argc, char **argv) { int interval = 1; int margin =2; int ret; ret = watch_dog_init(interval,margin); if(ret<0){ return -1; } while (true) { watch_dog_feed(fd ,interval); printf("------feed--------n"); } } |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1984 浏览 3 评论
rk1126实现BT601输入,输入不带IIC接口的驱动程序
3733 浏览 0 评论
2330 浏览 1 评论
3556 浏览 3 评论
RK3568 Android11让系统ntp校准时间生效,需要设置些什么
3818 浏览 1 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-28 20:59 , Processed in 0.615171 second(s), Total 71, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号