(7)ESP32 Python 使用看门狗 脱坑HC-SR04

在使用超声波探测器的时候,因为计算距离是需要靠echo引脚的高低电平变化的时间差来进行数据的判断。在某些未知的情况下,有可能echo引脚不会返回高电平,程序将会一直等待返回。
解决这个问题考虑使用TIMMER或者WDT来解决,这里我使用WDT(看门狗)来解决。
先来一段百度上关于看门狗的定义。

**看门狗,又叫watchdog timer,是一个定时器电路,一般有一个输入,叫喂狗(kicking the dog/service the dog),一个输出到MCU的RST端,MCU正常工作的时候,每隔一段时间输出一个信号到喂狗端,给 WDT清零,如果超过规定的时间不喂狗(一般在程序跑飞时),WDT定时超过,就会给出一个复位信号到MCU,使MCU复位。防止MCU死机. 看门狗的作用就是防止程序发生死循环,或者说程序跑飞。
**
接着上一篇文章的代码进行改进。

import utime
from driver import GPIO
from machine import WDT # 引用WDT
class HAASHCSR04:
    wdt = None
    triger_gpio = None
    echo_gpio = None
    def __init__(self): 
        global triger_gpio, echo_gpio, wdt 
        wdt = WDT(timeout=2000)    # 初始化WDT,设定喂狗时间为2S
        triger_gpio = GPIO()
        triger_gpio.open('hc_triger')
        trige
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

炒陈饭老司机

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值