赞
踩
硬件看门狗(watchdog timer)是一个定时器,其定时输出连接到电路的复位端。在产品化的嵌入式系统中,为了使系统在异常情况下能自动复位,一般都需要引入看门狗。
当看门狗启动后,计数器开始自动计数,在计数器溢出前如果没有被复位,计数器溢出就会对 CPU 产生一个复位信号使系统重启(俗称 “被狗咬”)。系统正常运行时,需要在看门狗允许的时间间隔内对看门狗计数器清零(俗称“喂狗“),不让复位信号产生。如果系统不出问题,程序能够按时“喂狗”。一旦程序跑飞,没有“喂狗”,系统“被咬” 复位。
应用程序通过 RT-Thread 提供的 I/O 设备管理接口来访问看门狗硬件,相关接口如下所示:
函数原型 | 功能简介 |
---|---|
rt_device_find() | 根据看门狗设备设备名称查找设备获取设备句柄 |
rt_device_init() | 初始化看门狗设备 |
rt_device_control() | 控制看门狗设备 |
rt_device_close() | 关闭看门狗设备 |
应用程序根据看门狗设备名称获取设备句柄,进而可以操作看门狗设备,查找设备函数如下所示:
1rt_device_t rt_device_find(const char* name);
参数 | 描述 |
---|---|
name | 看门狗设备名称 |
返回 | —— |
设备句柄 | 查找到对应设备将返回相应的设备句柄 |
RT_NULL | 没有找到相应的设备对象 |
使用示例如下所示:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。