陕西建站公司,wordpress生活服务,网站运营培训机构,搜狐做app的网站一、看门狗外设的原理与应用
背景说明
随着单片机的发展#xff0c;单片机在家用电器、工业自动化、生产过程控制、智能仪器仪表等领域的应用越来越广泛。然而处于同一电力系统中的各种电气设备通过电或磁的联系彼此紧密相连#xff0c;相互影响#xff0c;由于运行方式的…
一、看门狗外设的原理与应用
背景说明
随着单片机的发展单片机在家用电器、工业自动化、生产过程控制、智能仪器仪表等领域的应用越来越广泛。然而处于同一电力系统中的各种电气设备通过电或磁的联系彼此紧密相连相互影响由于运行方式的改变、故障、开关操作等引起的电磁振荡会波及很多电气设备。这对我们单片机系统的可靠性与安全性构成了极大的威胁。单片机测控系统必须长期稳定、可靠运行否则将导致控制误差加大严重时会使系统失灵甚至造成巨大损失。因此单片机的抗干扰能力已经成为不容忽视的问题。 基本概念
由于单片机在运行的过程经常会受到外部电磁场的干扰就可能会出现程序“跑飞”比如出现数据的缺失、导致寄存器中的数据发生变化、程序指针PC指向非法地址........为了提高程序的可靠性就提供了看门狗外设在程序出现由软件或者硬件导致的未知问题利用看门狗外设对芯片进行复位相当于重新运行程序。 看门狗WatchDog Timer本质上就是一个定时器电路一般有一个输入和一个输出输出端连接到到MCU的RST引脚当MCU正常工作的时候每隔一段时间输出一个信号到看门狗的输入端如果超过规定的时间不喂狗一般在程序跑飞时看门狗就会给出一个复位信号到MCU使MCU复位。 实现原理 使用看门狗的目的为了提供程序的可靠性防止由软件或者硬件造成的问题的出现。如果想要了解看门狗的资源和特点可以参考STM32F4中文参考手册。 分类说明
STM32F4系列的芯片提供的两个看门狗一个叫做独立看门狗一个叫做窗口看门狗。两个看门狗的使用流程差不多但是相比于独立看门狗窗口看门狗的限制更严格。
窗口看门狗 独立看门狗 内部结构 程序设计 思考如果出现芯片复位的情况如何判断是用户手动完成复位还是由IWDG看门狗复位?? 喂狗技巧
一种方案是在代码段进行穿插喂狗操作起来比较麻烦另一种方案是在定时器中断中完成喂狗操作但是注意中断请求可能出现嵌套所以喂狗操作的定时器的中断的抢占优先级应该是在程序中所有中断里面是最高。
为了提高程序的可靠性应该定义一个标志位应该结合该标志位来判断程序的运行状态。
练习根据看门狗的原理实现掌握MCU中的窗口看门狗的使用流程另外要求在自己的程序中实现看门狗的监测并对PS2模块、光敏、温湿度进行测试然后把之前学习的外设的程序进行封装封装为xxx.c和xxx.h。