【物联网】浅谈单片机中的看门狗

这篇具有很好参考价值的文章主要介绍了【物联网】浅谈单片机中的看门狗。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

STM32看门狗是一种重要的系统保护机制,能够监控系统的运行状态并在故障时自动重启。它在各个领域都有广泛的应用,如工业自动化、通信设备和汽车电子等。通过配置和控制看门狗定时器,我们可以提高系统的稳定性和可靠性。在实际应用中,根据具体需求和STM32型号进行相应的设置和喂狗操作,以确保系统的正常运行。STM32看门狗的应用不仅可以保证系统的安全性,还能提升整个系统的可靠性和稳定性。



什么是看门狗?

STM32 看门狗(Watchdog)是一种硬件定时器,用于监控系统的运行状态,并在系统出现故障或死锁时自动重启系统。看门狗是一种常见的系统可靠性保护机制,可以防止系统因软件错误或硬件故障而导致的无限循环或停止响应的情况。所以,出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称“看门狗”(watchdog)。


STM32 看门狗的工作原理

STM32 看门狗的工作原理是通过定时器和复位信号来实现的。看门狗定时器会周期性地计数,当计数器的值达到预设的阈值时,看门狗会产生一个复位信号,将系统重启。为了防止看门狗复位系统,我们需要在每次定时器溢出之前重置看门狗计数器。

【物联网】浅谈单片机中的看门狗,小黑与物联网,物联网,单片机,嵌入式硬件,原力计划

工作原理:在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清理看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。所以,在使用有看门狗的芯片时要注意清理看门狗。

硬件看门狗是利用了一个定时器,来监控主程序的运行,也就是说在主程序的运行过程中,我们要在看门狗定时器定时时间到之前对其进行复位。如果出现死循环,或者说PC指针不能回来,那么定时时间到后就会使单片机复位。

软件看门狗技术的原理和这差不多,只不过是用软件的方法实现,我们还是以51系列来讲,我们知道在51单片机中有两个定时器,我们就可以用这两个定时器来对主程序的运行进行监控。我们可以对T0设定一定的定时时间,当产生定时中断的时候对一个变量进行赋值,而这个变量在主程序运行的开始已经有了一个初值,在这里我们要设定的定时值要小于主程序的运行时间,这样在主程序的尾部对变量的值进行判断,如果值发生了预期的变化,就说明T0中断正常,如果没有发生变化则使程序复位。对于T1我们用来监控主程序的运行,我们给T1设定一定的定时时间,在主程序中对其进行复位,如果不能在一定的时间里对其进行复位,T1 的定时中断就会使单片机复位。在这里T1的定时时间要设的大于主程序的运行时间,给主程序留有一定的的裕量。而T1的中断正常与否我们再由T0定时中断子程序来监视。这样就够成了一个循环,T0监视T1,T1监视主程序,主程序又来监视T0,从而保证系统的稳定运行。


STM32 看门狗的配置

在 STM32 中,我们可以通过寄存器来配置和控制看门狗。以下是 STM32 看门狗的基本配置步骤:

  1. 使能看门狗时钟:根据具体的 STM32 型号,我们需要使能相应的看门狗时钟。

  2. 配置看门狗定时器:设置看门狗定时器的预分频和重载值。预分频用于设置看门狗定时器的时钟频率,重载值用于设置看门狗定时器的计数阈值。

  3. 使能看门狗:将看门狗使能位设置为 1,启动看门狗定时器。

  4. 定期喂狗:在系统运行过程中,需要定期喂狗,即重置看门狗计数器,以防止看门狗复位系统。可以使用看门狗喂狗指令或者写入特定的寄存器来重置看门狗计数器。

当使用STM32的看门狗时,通常需要配置和控制看门狗定时器,并在系统运行过程中定期喂狗。下面是一个简单的例子,展示了如何在STM32上配置和使用看门狗。

#include "stm32f4xx.h"

void WWDG_Configuration(void)
{
    // 使能看门狗时钟
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG, ENABLE);

    // 配置看门狗定时器
    WWDG_SetPrescaler(WWDG_Prescaler_8); // 设置预分频为8,时钟频率为PCLK1/8
    WWDG_SetWindowValue(0x7F);           // 设置看门狗窗口值
    WWDG_Enable(0x7F);                    // 使能看门狗,设置计数器的初始值为0x7F
}

void Feed_WWDG(void)
{
    // 定期喂狗,重置看门狗计数器
    WWDG_SetCounter(0x7F);
}

int main(void)
{
    // 初始化系统时钟和其他外设

    WWDG_Configuration();

    while (1)
    {
        // 系统正常运行,定期喂狗
        Feed_WWDG();

        // 其他系统任务
    }
}

在上面的例子中,我们首先调用WWDG_Configuration函数来配置看门狗定时器。在这个函数中,我们使能了看门狗时钟,并设置了预分频和窗口值。预分频用于设置看门狗定时器的时钟频率,窗口值用于设置看门狗定时器的计数阈值。然后,我们调用WWDG_Enable函数来启动看门狗定时器,并将计数器的初始值设置为窗口值。

main函数中,我们使用一个无限循环来模拟系统的正常运行。在循环中,我们调用Feed_WWDG函数来定期喂狗,即重置看门狗计数器。这样,只要系统正常运行,并且在看门狗定时器溢出之前定期喂狗,系统就不会被看门狗复位。


STM32 看门狗的应用场景

STM32 看门狗广泛应用于需要保证系统可靠性和稳定性的领域,特别是嵌入式系统和实时系统。以下是一些常见的应用场景:

  1. 实时操作系统(RTOS):在实时操作系统中,看门狗可以用来监控任务的运行状态,并在任务死锁或异常情况下重启系统。

  2. 工业自动化:在工业自动化领域,看门狗可以用来监控控制系统的运行状态,并在系统故障时自动重启。

  3. 通信设备:在通信设备中,看门狗可以用来监控网络连接状态,并在网络故障时重启设备。

  4. 汽车电子:在汽车电子系统中,看门狗可以用来监控车辆的运行状态,并在系统故障时保证车辆的安全。


总结

STM32 看门狗是一种重要的系统可靠性保护机制,可以监控系统的运行状态,并在系统故障时自动重启。通过配置和控制看门狗,我们可以提高系统的稳定性和可靠性。在实际应用中,我们需要根据具体的需求和系统特点来选择合适的看门狗配置参数,并定期喂狗,以确保系统的正常运行。文章来源地址https://www.toymoban.com/news/detail-717539.html

到了这里,关于【物联网】浅谈单片机中的看门狗的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 单片机项目分享 单片机 图像分类 智能识别机器人 - 物联网 深度学习 AI

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年01月21日
    浏览(69)
  • 单片机项目分享 stm32机器视觉的人脸识别系统 - 单片机 物联网 嵌入式

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年01月22日
    浏览(84)
  • 【单片机毕设选题】stm32实现车牌识别系统 -物联网 嵌入式 单片机

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月20日
    浏览(59)
  • 单片机项目分享 基于stm32的便携用电功率统计系统 -物联网 嵌入式 单片机

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月19日
    浏览(113)
  • 【单片机毕设选题】 stm32智能运动计步系统 - 物联网 嵌入式 单片机

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月20日
    浏览(66)
  • 单片机项目分享 单片机自动写字机器人设计与实现 - 物联网 嵌入式 stm32

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月21日
    浏览(93)
  • 单片机项目分享 stm32机器视觉的口罩佩戴检测系统 - 单片机 物联网 嵌入式

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月22日
    浏览(82)
  • 毕业设计 - 基于单片机的智能饮水机系统设计与实现 (物联网 嵌入式 单片机)

    Hi,大家好,学长今天向大家介绍一个 单片机项目 基于单片机的智能饮水机系统设计与实现 大家可用于 课程设计 或 毕业设计 这次设计的智能饮水机就是单片机结合传感器的一个应用。 该系统设计综合单片机以及电子技术理论,从生活实际出发,完善了饮水机的功能。整个

    2024年02月03日
    浏览(109)
  • 【单片机毕设选题】Stm32单片机的音乐播放器设计 - 物联网 嵌入式

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月20日
    浏览(51)
  • 【单片机毕设选题】单片机远程wifi红外无接触体温测量系统 - 物联网 stm32

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月20日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包