haas506 2.0开发教程-driver-WDT
最新案例教程点击下方链接跳转,CSDN已停止更新
点
击
跳
转
1.WDT看门狗
案例说明:
- 看门狗定时器(WDT,Watch Dog Timer)是单片机的一个组成部分,它实际上是一个计数器,一般给看门狗一个数字,程序开始运行后看门狗开始计数。如果程序运行正常,过一段时间CPU应发出指令让看门狗置零,重新开始计数。如果看门狗增加到设定值就认为程序没有正常工作,强制整个系统复位。
- 本案例简单尝试WDT功能,没有及时喂狗会导致系统重启。
- main.py
# -*- coding: UTF-8 -*-
import utime
from driver import WDT
#实例化一个看门狗
wdt = WDT()
#开启看门狗
wdt.open('wdt0')
# 如果以下代码注释掉,程序会在10s后由于没有喂狗而重启
for count in range(5):
#喂狗
utime.sleep(1)
wdt.feed()
print('feed dog')
wdt.close()
- board.json
{
"name": "haas506",
"version": "2.0.0",
"io": {
"serial1":{
"type":"UART",
"port":0,
"dataWidth":8,
"baudRate":115200,
"stopBits":1,
"flowControl":"disable",
"parity":"none"
},
"wdt0": {
"type": "WDT",
"timeout": 6
}
},
"debugLevel": "ERROR"
}
- 日志输出
2.Class-WDT
open | close | feed |
---|---|---|
打开WDT设备 | 关闭WDT设备 | 喂狗 |
实例化
wdt=WDT()
wdt.open(node)
作用:打开WDT设备节点,并根据节点的配置信息初始化WDT。
返回:成功:0;失败:故障码。
参数说明
属性 | 类型 | 必填 | 描述 |
---|---|---|---|
node | String | 是 | 待操作的WDT设备节点,定义在board.json文件中。 |
board.json中的WDT类型设备属性配置项说明如下:
属性字段 | 数据类型 | 属性值 | 必选项? | 字段说明 |
---|---|---|---|---|
timeout | int | 3 | 否 | 配置WDT的超时时间(秒),默认3秒,超时没有喂狗会导致系统重启 |
wdt.close()
作用:关闭WDT设备
返回值:成功:0;失败:故障码。
wdt.feed()
作用:喂狗
返回:成功:0;失败:故障码。
3.总结
本节介绍了haas506的driver库中的WDT(看门狗)模块。