当前位置: 首页 > news >正文

西安网站建设雄账号宁波网站快速优化

西安网站建设雄账号,宁波网站快速优化,o2o网站建设新闻,免费php模板网站wx:嵌入式工程师成长日记 (一)简介 WDG(Watchdog)看门狗看门狗可以监控程序的运行状态,当程序因为设计漏洞(无法预料)、硬件故障、电磁干扰等原因,出现卡死或跑飞现象时,看门狗能及…

wx:嵌入式工程师成长日记

ddd39e6b19e14e33897aa6213919c759.png

(一)简介

  • WDG(Watchdog)看门狗
  • 看门狗可以监控程序的运行状态,当程序因为设计漏洞(无法预料)、硬件故障、电磁干扰等原因,出现卡死或跑飞现象时,看门狗能及时复位程序避免程序陷入长时间的罢工状态,保证系统的可靠性和安全性
  • 看门狗本质上是一个定时器,当指定时间范围内,程序没有执行喂狗(重置计数器)操作时,看门狗硬件电路就自动产生复位信号
  • STM32内置两个看门狗
  • 独立看门狗(IWDG):独立工作,对时间精度要求较高
  • 窗口看门狗(WWDG):要求看门狗在精确计时窗口起作用

(二)IWDG框图

1、简介

定时器产生中断,看门狗产生复位。

2、IWDG键寄存器

  • 键寄存器本质上是控制寄存器,用于控制硬件电路的工作
  • 在可能存在干扰的情况下,一般通过在整个键寄存器写入特定值来代替控制寄存器写入一位的功能,以降低硬件电路受到干扰的概率(恶劣情况)

(三)IWDG超时时间

  • 超时时间:TIWDG=TLSI x PR预分频系数 x (RL+1)
  • 其中:TLSI =1/FLSI

注:超时时间40k输入时钟会在30~60kHz波动。

(四)WWDG框图

1、简介

【计数器部分最晚界限】如果把T6位看作计数器的一部分,那就是整个计数器值减到0x40之后溢出;而T6当成溢出标志位,低6位当作计数器,数值减到0之后溢出。

【复位信号】程序运行状态下始终保证T6位位1,这样才能避免复位。

【最早界限】首先写入一个最早时间界限计数值到W0~6中,写入WWDG_CR,就是喂狗,一旦它比较,我们当前的计数器T6:0>窗口之W6:0,比较结果就等于1,就可以去申请复位。

也就是为狗的时候,把当前计数值预设窗口值进行比较,若余粮充足,喂得频繁,就有问题,就会复位。

2、WWDG工作特性

  • 递减计数器T[6:0]的值小于0x40时,WDG产生复位
  • 递减计数器T[6:0]在窗口W[6:0]外被重新装载时,WDG产生复位
  • 递减计数器T[6:01等于0x40时可以产生早期唤醒中断(EWI),死前中断(马上就要溢出复位时,用来执行一些紧急操作,比如保存重要数据,关闭危险操作),用于重装载计数器以避免WWDG复位
  • 定期写入WWDG CR寄存器(喂狗)以避免WWDG复位

刷新窗口可以喂狗。

3、WWDG超时时间计算

  • 超时时间:TWWDG=TPCLK1x4096xWDGTB预分频系数 x(T[5:0]+ 1)
  • 窗口时间:TWIN =TPCLK1x 4096 x WDGTB预分频系数 x(T[5:0] - W[5:0])
  • 其中:TPCLK1=1/FPCLK1

 但是在使用窗口看门狗的时候需要注意写入WWDG_CR 寄存器时,始终将 1 写入 T6 位,以避免生成立即复位。

(五)IWDG和WWDG对比

窗口看门狗号称警犬,它也有一个递减计数器不断的往下递减计数,当减到一个固定值0x40时还不喂狗的话,就会产生复位,这个值叫窗口的下限,是固定值,不能改变。不同的是,窗口看门狗的计数器在减到某一个数之前喂狗也会产生复位,这个值叫窗口的上限,上限值由用户独立设置。窗口看门狗计数器的值必须在上窗口和下窗口之间才可以喂狗

独立看门狗号称宠物狗,它有一个12位的递减计数器,当计数器的值从某个值一直减到0的时候,系统就会产生一个复位信号,即IWDG_RESET。如果在计数器没有减到0之前,刷新了计数器的值,那么就不会产生复位信号,这个动作就是我们经常说的喂狗。

键寄存器

键寄存器本质上是控制寄存器,用于控制硬件电路的工作在可能存在干扰的情况下,一般通过在整个键寄存器写入特定值来代替控制寄存器写入一位的功能,以降低硬件电路受到干扰的概率

 (六)程序代码配置

独立看门狗:

//解除写保护IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);//配置预分频与重装值IWDG_SetPrescaler(IWDG_Prescaler_16);IWDG_SetReload(2499);                //喂狗时间设置为:1000ms//喂狗IWDG_ReloadCounter();                //重装的值就是2499//启动看门狗IWDG_Enable();

 窗口看门狗

需使用的库函数:

void RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG, ENABLE); // WWDG 时钟使能
void WWDG_SetWindowValue(uint8_t WindowValue);//设置窗口值的函数
void WWDG_SetPrescaler(uint32_t WWDG_Prescaler);//设置分频数的函数
void WWDG_EnableIT(); //开启窗口看门狗中断
void WWDG_Enable(uint8_t Counter);//设置计数器初始值并使能看门狗
//第二步:配置预分频器与窗口值WWDG_SetPrescaler(WWDG_Prescaler_8);WWDG_SetWindowValue(0x40|21);                   //30~50ms//第三步:写入控制器CR,控制寄存器包括:看门狗使能位、计数器溢出位、计数器有效位。WWDG_Enable(0x40|54);//或上0x40
WWDG_SetCounter(0x40|54);                //喂狗  
http://www.dt0577.cn/news/46409.html

相关文章:

  • 做品牌折扣的网站网络推广运营
  • 做网站需要会什么语言seo排名首页
  • wordpress 手机加载慢开鲁seo服务
  • 苏州网站设计公司简介自媒体平台有哪些
  • 网站升级 云南省建设注册考试中心网络维护
  • 为网站开发app旺道seo推广系统怎么收费
  • 刘娇娇做网站骗钱的alexa排名
  • 企业网站建设方案书 范本成都网站制作
  • 全网最低价查询网站竞价排名是按照什么来计费的
  • 如题,HTML如何将两张图片_一张放在网站顶部做背景,另一张放在尾部做背景?郑州seo询搜点网络效果佳
  • 具有口碑的柳州网站建设哪家好产品代理推广方案
  • 做短视频的软件上海搜索排名优化公司
  • wordpress 点评类网站百度在线客服问答
  • 网页设计工作内容怎么写seo优化排名经验
  • 上海网站建设设计公司排名百度关键词竞价和收费的方法
  • 网站模板下载软件百度推广渠道
  • flash全站案例网站预览网站友情链接
  • 7k网站怎么做新产品推广
  • 苏州网站建设设计公司广州顶正餐饮培训学校
  • 菜单宣传网站怎么做的郑州seo优化顾问阿亮
  • 上海网站建设费用市场营销最有效的手段
  • 动效网站建设淘宝直通车推广怎么收费
  • 北辰天津网站建设沈阳seo排名优化软件
  • 网站正在建设中视频北京网络推广外包公司排行
  • 如何做一个个人做网站网页搭建
  • 长春做网站好的公司免费b站推广网站链接
  • 黑龙江专业网站建设优化大师优化项目有哪些
  • 潍坊网站开发高手脚上起小水泡还很痒是怎么回事
  • 微网站开发公司域名解析ip138在线查询
  • canvas 特效网站网络推广外包想手机蛙软件