stm32有两个看门狗,独立看门狗和窗口看门狗,其实两者的功能是类似的,只是喂狗的限制时间不同。 独立看门狗是限制喂狗时间在0-x内,x由你的相关寄存器决定。喂狗的时间不能过晚。...窗口看门狗,所以称之为窗口就是因为其喂狗时间是一个有上下限的范围内,你可以通过设定相关寄存器,设定其上限时间和下限时间。喂狗的时间不能过早也不能过晚。...图1 窗口看门狗的 上窗口就是配置寄存器WWDG->CFR里设定的W[6:0]; 下窗口是固定的0x40; 当窗口看门狗的计数器在上窗口值之外,或是低于下窗口值都会产生复位。...当外部中断发生(按下PA0按键),长时间不喂狗,引发窗口看门狗复位。 直接操作寄存器 相关寄存器如下: 控制寄存器WWDG->CR:低8位有效。 第8位为WDGA,看门狗激活位。...RCC_Configuration(); /* GPIO configuration ——————————————————*/ GPIO_Configuration(); /*注释-hope:利用窗口看门狗的提前唤醒中断服务子程序来进行独立看门狗计数值的
软件看门狗和硬件看门狗的作用和区别 工业级无线路由器,作为无线组网中非常重要的设备,洞察客户应用场景,只要是关乎无线组网可靠性的需求,即使是最细微的技术应用都要做到极致,比如看门狗。...看门狗的作用就是防止程序发生死循环或者说程序跑飞。...工作原理:在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。...所以在使用有看门狗的芯片时要注意清看门狗。...以上便是软件看门狗和硬件看门狗的作用和区别。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
在正式的产品开发中,软件中要加入看门狗,以确保系统安全和软件跑飞后可以复位到安全状态,最近一直在用NXP的K64,所以今天就以K64为例来说明,软件看门狗的使用。...首先像学其他外设一样先来看K64看门狗的框图 ? 由图就可以清楚的搞清楚他的工作流程和软件操作思路,在结合SDK的帮助,你 就可以轻松上手。...别忘了使能,其中比较重要的一点是配置时钟和看门狗定时器的值,从上图中就可以看出K64的看门狗模块由两种时钟可选,我比较喜欢用LPO时钟1kHz。...这样计算看门狗时间例如为2秒的喂狗周期,则timeoutValue 应为2000,如下图所示: ? 如果由多任务还要考虑在多个地方清狗。 喂狗可以直接使用SDK的喂狗函数 ?...注释掉喂狗程序和注释掉清狗程序一样都会引起复位,且测试方法相同,至此验证了我们的软件看门狗功能符合设计需求。
一、独立看门狗 STM32 的独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然有效。...看门狗的原理:单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗电路就是为了避免这种情况的发生。...看门狗的作用就是在一定时间内(通过定时计数器实现)没有接收喂狗信号(表示 MCU 已经挂了),便实现处理器的自动复位重启(发送复位信号) 。...) ×rlr) /40 其中 Tout 为看门狗溢出时间(单位为 ms) ;prer 为看门狗时钟预分频值(IWDG_PR 值),范围为 0~7;rlr 为看门狗的重装载值(IWDG_RLR 的值) ;...4) 启动看门狗(向 IWDG_KR 写入 0XCCCC) 库函数里面启动独立看门狗的函数是: IWDG_Enable(); //使能 IWDG 通过这句,来启动 STM32 的看门狗。
/*此程序实现单片机”看门狗”WDT的功能*/ #include”p18f458.h” unsignedlongi; /*系统初始化子程序*/ voidinitial() { TRISD = 0X00...口设为输出*/ } /*延时子程序*/ voidDELAY() { for(i=19999;–i;) continue; } /*主程序*/ main () { initial();/*初始化,设定看门狗的相关寄存器...0X00;/*D口送00H,发光二极管亮*/ DELAY();/*给予一定时间的延时*/ PORTD = 0XFF;/*D口送FFH,发光二极管灭*/ while(1) { ; }/*死循环,等待看门狗溢出复位...*/ } ——————-汇编语言版本的单片机看门狗程序—————- ;此程序实现”看门狗”WDT的功能 ;此单片机看门狗由http://www.51hei.com独家提供 LISTP=18F458 INCLUDE...MOVLW0X00 MOVWFPORTD;D口送00H,发光二极管亮 CALLDELAY MOVLW0XFF MOVWFPORTD;D口送FFH,发光二极管灭 LOOP GOTOLOOP;死循环,等待看门狗复位
前言: 今天我们来学习看门狗的配置与函数,看门狗可以有效解决程序的跑飞,在使用过程中比较常见,是防止芯片故障的有效外设,我们一起来学习下HAL库 STM32CubeMX的独立看门狗,窗口看门狗的使用...独立看门狗,靠窗看门狗 工作原理 看门狗 在由单片机构成的微型计算机系统中单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环;或者因为用户配置代码出现BUG,导致芯片无法正常工作...两个看门狗设备(独立看门狗、窗口看门狗)可以用来检测和解决由软件错误引起的故障。当计数器达到给定的超时值时,触发一个中断(仅适用窗口看门狗)或者产生系统复位。...窗口看门狗由从APB1时钟(36MHz)分频后得到时钟驱动。通过可配置的时间窗口来检测应用程序非正常的过迟或过早操作。 窗口看门狗最适合那些要求看门狗在精确计时窗口起作用的程序。...举例: HAL_IWDG_Refresh(&hiwdg); //看门狗喂狗 使用该函数定时喂狗即可 WWDG-窗口看门狗 窗口看门狗的定义 窗口看门狗跟独立看门狗一样,也是一个递减计数器不断的往下递减计数
为了避免应用陷入错误状态导致界面无响应,Apple 设计了看门狗 (WatchDog) 机制。一旦超时,强制杀死进程。...8badf00d = ate bad food,大概是在说看门狗吃了坏的食物所以暴走了?!异常记录则表示这并不是一次崩溃(邪魅一笑:强制退出而已)。信息一栏指出时间限制为 20 s。...同步网络请求,主线程,超长超时时间,满足这三点,一定场景下几乎必然会触发看门狗机制。 对策 合理解决方案: 异步网络请求:优点很多,最重要的是可以让你无忧无虑安全地访问网络,而无需担心线程。...此外,一部分情况下,例如这次遇到登录和模版同步时触发看门狗,事实上,即使在运用到模版时再次请求也是勉强可行的,因此姑且先跳过网络请求也可以。...应用的网络部分基于公司的通用框架,因此优先考虑在非主线程中进行网络请求来避免触发看门狗。 至于调试模式下为什么可以正常启动应用,完全是因为该模式下看门狗机制处于禁用状态。
这个类实现了程序退出能重启,但是程序停止运行弹出对话框,进程并没有退出却无法重启。希望有好建议处理这个bug的朋友提出你们的宝贵意见。 源码如下:
/usr/x11r6 存放x window的目录 /usr/bin 众多的应用程序 /usr/sbin 超级用户的一些管理程序 /usr/doc Linux文档 /usr/include linux下开发和编译应用程序所需要的头文件.../usr/lib 常用的动态链接库和软件包的配置文件 /usr/man 帮助文档 /usr/src 源代码,linux内核的源代码就放在/usr/src/linux里 /usr/local/bin 本地增加的命令...共享库又叫动态链接共享库,作用类似windows里的.dll文件,存放了根文件系统程序运行所需的共享文件。 /tmp 用于存放各种临时文件,是公用的临时文件存储点。
看门狗的作用:防止单片机因未知原因死机或比我们预期的时间过长长时间不能响应,如果出现这种问题,看门狗就会把单片机复位 独立看门狗(IWDG): 时钟来源:内部低速时钟(LSI),所以用看门狗时不需要配置时钟...IWDG_SR: 32位寄存器,低2位有效 位0:PVU:看门狗预分频值更新状态位,1:指示预分频正在更新,预分频器值只有在 PVU 位为 0 时才可更新。...位1:RVU:看门狗重装载值更新状态位,1:指示重装载值正在更新,重载值只有在 RVU 位为 0 时才可更新。...IWDG->KR=0XCCCC; } 窗口看门狗(WWDG): 时钟来源:APB1时钟,使用时应先使能时钟,这一点与独立看门狗不一样 会先分频4096倍,再分2^WDGTB,所以WWDG超时公式如下...WWDG还有一个中断(提前唤醒中断),作用是当递减寄存器到0X40时会进入中断 一般配置过程: 寄存器: WWDG_CR: 32位,只用到低8位 位7:WDGA 激活位 位6:0 :这些位用来存储看门狗计数器的值
---- 前言 看门狗 看门狗的含义:当一切正常时,看门狗不会有什么反应,但是出现异常情况时,看门狗就会叫,并把异常情况阻挡在门外。...一般来说,看门狗我们也叫他看门狗定时器,从本质上面来看,其实它就是一个计数器,在使用的时候,我们需要给它一个数值,随后看门狗的计数器根据计数方向开始累计,在看门狗的计数器达到预设的数值之前,我们可以进行重置看门狗计数器的操作...软件方面,看门狗模块需要由程序员编写相应的代码实现,具体过程如下: 初始化看门狗模块,包括设置看门狗定时器的超时时间和模式等参数。...当看门狗定时器达到预设的超时时间时,会产生看门狗中断,并自动复位系统。...同时也可以通过设置看门狗模块的 RSTEN 位实现看门狗产生复位信号直接重启系统。
目录 1、IWDG 1.1 独立看门狗简介 1.2 独立看门狗的特点 1.3 独立看门狗功能描述 1.4 硬件看门狗 1.5 寄存器访问保护 1.6 调试模式 2、WWDG 2.1 简介 2.2 窗口看门狗主要特点...2.3 窗口看门狗功能说明 2.4 如何设置看门狗超时 2.5 调试模式 3、区别 1、IWDG 1.1 独立看门狗简介 IWDG(Independent watchdog)独立看门狗,可以用来检测并解决由于软件错误导致的故障...IWDG 最适合应用于那些需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间精度要求较低的场合。 WWDG 最适合那些要求看门狗在精确计时窗口起作用的应用程序。...WWDG 最适合那些要求看门狗在精确计时窗口起作用的应用程序 为什么要窗口看门狗?...对于一般的看门狗,程序可以在它产生复位前的任意时刻刷新看门狗,但这有一个隐患,有可能程序跑乱了又跑回到正常的地方,或跑乱的程序正好执行了刷新看门狗操作,这样的情况下一般的看门狗就检测不出来了; 如果使用窗口看门狗
虚拟内存的作用 利用磁盘起到的缓存的作用,提高进程访问磁盘的速度。 虚拟内存可以为进程提供独立的内存空间,并通过动态链接库共享内存。...目前linux系统,采用四层页表结构页表结构,每个9位,最低12位作为偏移量。
/dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱 mount /dev/cdrom /mnt /etc :系统管理文件和配置文件放置处,需要配置服务等等的时候访问
在 Linux 系统中,环境变量是用来定义系统运行环境的一些参数,比如每个用户不同的家目录(HOME)、邮件存放位置(MAIL)等。...值得一提的是,Linux 系统中环境变量的名称一般都是大写的,这是一种约定俗成的规范。...Linux 系统能够正常运行并且为用户提供服务,需要数百个环境变量来协同工作,但是,我们没有必要逐一学习每个变量,这里给大家列举了 10 个非常重要的环境变量。...Linux 作为一个多用户多任务的操作系统,能够为每个用户提供独立的、合适的工作运行环境,因此,一个相同的环境变量会因为用户身份的不同而具有不同的值。...home/work1 [root@localhost ~]# cd $WORKDIR [root@localhost work1]# pwd /home/work1 但是,这样的环境变量不具有全局性,作用范围也有限
目录 1、基本、通用类型定时器 2、独立看门狗定时器 3、窗口看门狗定时器 ---- 之前分享了STM32 GPIO的原理、特性、选型和配置、如何计算RTC时钟异步预分频和同步预分频,这次简要阐述STM32L011...微控制器定时器的参数配置(其他型号大同小异,本文侧重讲解配置,至于各类定时器的特点后续再述),STM32定时器种类繁多有通用定时器、基本定时器、独立看门狗定时器、窗口看门狗定时器等。...AAAA 写到密钥寄存器中,计数器将会重载,从而避免产生看门狗复位,独立看门狗框图如下所示: ?...独立看门狗定时器时钟由LSI振荡器提供,STM32L011中LSI频率为37KHZ,看门狗定义周期时间的方式和基本、通用类型可编程定时器完全一致,假设定义1秒周期的看门狗定时器,超过1秒不喂狗就进行系统复位...3、窗口看门狗定时器 窗口看门狗定时器是可编程的自由运行递减计数器,窗口看门狗激活后当递减计数器值小于 0x40(从 0x40 递减到 0x3F) 时复位,在窗口阈值之外重载递减计数器时也会复位,只有在
看门狗的作用就是在一定时间内(通过定时计数器实现)没有接收喂狗信号(表示 MCU 已经挂了),便实现处理器的自动复位重启(发送复位信号)。...STM32的看门狗 STM32芯片一共有两个看门狗,一个是独立看门狗(IWDG),另一个是窗体看门狗(WWDG) 先来讲讲独立看门狗: STM32 的独立看门狗由内部专门的 40Khz 低速时钟驱动...独立看门狗有自由运行的递减计数器 独立看门狗的时钟由独立的RC振荡器提供(可在停止和待机模式下工作) 独立看门狗被激活后,则在计数器计数至0x000时产生复位 独立看门狗的配置工作代码: 1 void...(IWDG)和窗体看门狗(WWDG)的区别: (1)独立看门狗没有中断,窗口看门狗有中断 (2)独立看门狗有硬件软件之分,窗口看门狗只能软件控制 (3)独立看门狗只有下限,窗口看门狗又下限和上限 (4)...窗口看门狗是7位递减的 (5)独立看门狗是用的内部的大约40KHZ RC振荡器,窗口看门狗是用的系统时钟APB1ENR 功能不重复说明 功能不重复,独立看门狗用于防止系统死机,而窗口看门狗用于保证系统运行的正确性
,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的模块或者芯片,俗称:看门狗 看门狗的意义 在启动正常运行的时候,系统不能复位 在系统跑飞(程序异常执行...)的情况,系统复位,程序重新执行 独立看门狗(IWDG)由专用的低速时钟(LSI)驱动,即使主时钟发生故障它仍有效 独立看门狗适合应用于需要看门狗作为一个在主程序之外能够完全独立工作,并且对时间精度要求低的场合...独立看门狗功能描述 在键值寄存器(IWDG_KR)中写入0xCCCC,开始启用独立看门狗。...首先是溢出时间Tout(超时时间)=(IWDG_RLR寄存器对应的装载数值) * (看门狗时钟周期) 看门狗时钟周期=1/freq。...(); 2.设置独立看门狗的预分频系数,确定时钟 IWDG_SetPrescaler(); 3.设置看门狗重装载值,确定溢出时间 IWDG_SetReload(); 3.设置看门狗重装载值,确定溢出时间
领取专属 10元无门槛券
手把手带您无忧上云