Continental什么牌子| 生蚝吃多了有什么危害| 左室舒张功能减退是什么意思| 喜人是什么意思| 最近老做噩梦是什么原因| 湿疹是因为什么原因引起的| phc是什么意思| 血清载脂蛋白b偏高是什么意思| 蝙蝠屎是什么中药| 感叹是什么意思| 梦到门坏了是什么意思| 二郎神是什么生肖| 男性阴虱用什么药最好| 为什么加油站不能打电话| 铁子是什么意思| 金銮殿是什么意思| 前轮轴承坏了会有什么症状| 秋老虎是什么意思| 叶凡为什么要找荒天帝| 离家出走需要准备什么| 牛磺酸是什么东西| 什么是小针刀治疗| 9月11号是什么星座| 今年为什么这么热| 果脯是什么东西| 脾胃不好吃什么调理| 什么是soho| ep是什么| 肾阴虚什么症状| 明天是什么节日| 五月二十六是什么星座| 急性化脓性扁桃体炎吃什么药| 昱读什么| 为什么镜子不能对着床| fla是什么牌子| 又当又立是什么意思| 今天什么年| 什么情况下需要安装心脏起搏器| 花茶是什么茶| 手腕疼挂什么科| 做包子用什么面粉| 梦见怀孕流产是什么意思| 陈旧性骨折是什么意思| 紫玫瑰代表什么意思| 为什么眼睛会有红血丝| 心脏跳的快是什么原因| 手脚发麻挂什么科| 将军指什么生肖| 乳腺炎吃什么药| 腿容易麻是什么原因| 腺样体肥大有什么症状| 刷牙出血是什么原因| 心烦意乱焦躁不安吃什么药| 痰多吃什么药| 小孩用脚尖走路是什么原因| 胃疼吃什么药好的快| 牟利什么意思| 颞下颌关节炎吃什么药| 促黄体生成素低说明什么| 满月是什么时候| 十年结婚是什么婚| 过敏性鼻炎吃什么药好的快| 什么是消融手术| 药店为什么不让卖高锰酸钾| 立秋是什么时候| 什么是作风建设| 肚子胀气什么原因| 1月份是什么星座的人| 眼底照相是检查什么| 晚上睡觉容易醒是什么原因| 脾胃气滞吃什么中成药| 苹果什么季节成熟| 纯阴八字为什么要保密| 耳朵为什么老是痒| mrcp检查是什么意思| 肝脏排毒吃什么最好| 虎皮兰开花寓意什么| 血糖高是什么原因引起的| 日常是什么意思| 间质性改变是什么意思| 喝什么茶降血压最好最快| cut什么意思| 气得什么| 晚安好梦什么意思| 艾特是什么意思| 巴黎世家是什么档次| 扶苏姓什么| 上火喝什么药| 待业什么意思| 被隐翅虫咬了用什么药| 开塞露有什么功效| 核辐射是什么| 梦见捡到钱是什么预兆| 手上长斑点是什么原因| 鱼水之欢是什么意思| 脖子长小肉粒是什么原因| 带资进组什么意思| 小腿痒是什么原因| 喝蒲公英茶有什么作用| 右手掌心有痣代表什么| 今天什么时辰立秋| 山开念什么| 尿蛋白质弱阳性是什么意思| 女右上眼皮跳是什么预兆| 肿瘤标志物是什么意思| 且慢是什么意思| 洛神花茶有什么功效| 气短是什么症状| 次月什么意思| 月经不正常吃什么药| 倒反天罡是什么意思| nt宝宝不配合说明什么| 婴儿咳嗽用什么药| 三月份有什么节日| 为什么蚊子喜欢咬我| 属马的生什么属相的宝宝好| 泌尿外科主要看什么病| 梦见一个人代表什么| 梅菜是什么菜晒干的| 尾牙是什么意思| 怀孕感冒可以吃什么药| 有痔疮不能吃什么食物| 壁厚是什么意思| 何首乌泡酒有什么作用| 退役是什么意思| 4个月念什么字| gerd是什么病| 宝宝半夜咳嗽是什么原因| 老鼠和什么属相相冲| 二次报销需要什么条件| 新股配号数量是什么意思| 当兵什么时候入伍| 藏语扎西德勒是什么意思| 6是什么意思网络语言| 玫瑰花和什么一起泡水喝好| 大生化检查都包括什么项目| epo是什么意思| 豌豆是什么豆| 1958年属什么生肖| 阴蒂长什么样| 舌苔厚白吃什么中成药| 眼角长脂肪粒是什么原因| 夏天喝绿茶有什么好处| 吃什么发胖最快| 尿酸高会引发什么疾病| 中暑什么症状表现| 心季是什么原因| 脾胃虚吃什么好| 作茧自缚是什么意思| 心脏有个小洞叫什么病| 什么的故事填空| 王八是什么| 挫败感是什么意思| 蒲公英可以和什么一起泡水喝| 什么情况下需要做活检| 虚劳病是什么病| 美丽的动物是什么生肖| 什么是黑科技| 物以类聚什么意思| 什么手机电池最耐用| 罗勒是什么| 129什么星座| 女人五行缺水是什么命| 大便泡沫状是什么原因| 刮痧的痧是什么东西| 九八年属什么生肖| 十月二十八是什么星座| 气球是什么意思| 斑斓什么意思| 坐骨神经痛是什么原因引起的| 切除甲状腺有什么影响| 一什么亮光| 血压高会引起什么症状| cap是什么| 肠结核是什么病| 亚麻跌是什么意思| 鼻子有臭味是什么原因| 男人小腹疼痛是什么原因| 章鱼的血是什么颜色| 负责任是什么意思| 胸部胀痛是什么原因| 心脏不舒服挂什么科室| 晕轮效应是什么意思| 主播是什么意思| 冬天喝什么茶最好| 6月20日什么星座| 网罗是什么意思| 什么的香蕉| 亚甲炎是什么原因引起的| o型血为什么叫贵族血| 迪丽热巴颜值什么水平| 当志愿者有什么好处| 2023年属兔的是什么命| 办身份证需要准备什么| 割包皮应该挂什么科| 绰号是什么意思| bacon是什么意思| 鄂尔多斯是什么意思| 什么时候吃姜最好| 口苦是什么原因引起的| 冰希黎香水什么档次| 相思成疾是什么意思| 英特纳雄耐尔是什么意思| na什么意思| 什么食物补钙效果最好最快| 血糖高看什么科室| 尖锐湿疣是什么病| 喉咙肿痛吃什么药好| 体香是什么味道| 耳朵响吃什么药| 女人颧骨高有什么说法| 保险属于什么行业| 副连长是什么军衔| 阑尾炎手术后吃什么好| 梦见驴是什么意思| 舌有裂纹是什么原因| 排卵期是指什么时候| ab型血和o型血的孩子是什么血型| 邪魅一笑是什么意思| 点痣用什么方法最好| 换什么机油好| 早上起来嘴苦口臭是什么原因| 来之不易是什么意思| 护肝养肝吃什么药| 小龙虾和什么不能一起吃| 平诊是什么意思| 同化是什么意思| rp是什么| 社保跟医保有什么区别| 潴留囊肿是什么意思| 叶酸有什么作用和功效| 白领是什么意思| 直肠壁增厚一般是什么情况| 虬是什么动物| 包皮长挂什么科| 伏特加是用什么酿造的| 结婚六十年是什么婚| 更年期有什么表现| 什么叫私生饭| 花肠是母猪的什么部位| 什么情什么意| 刮痧红色说明什么原因| 介入手术是什么意思| 小孩多动症是什么原因引起的| 飞鱼籽是什么鱼的籽| 左室舒张功能减低什么意思| 平板电脑与笔记本电脑有什么区别| 抬头纹开了是什么意思| 马英九属什么| 鸡蛋不能和什么食物一起吃| 甲方乙方是什么意思| 食物中毒有什么症状| 下缘达宫颈内口是什么意思| 白细胞高是什么意思| 劲旅是什么意思| 凌波仙子是什么意思| 丝状疣是什么原因长出来的| 冰释前嫌的释是什么意思| 什么是pi| bally什么档次| add什么意思| 憋不住尿是什么原因| 上海市长是什么级别| 房产证改名字需要什么手续| 百度
打印
[STM32F1]

宁夏回族自治区食品药品监督管理局出台突出重点

[复制链接]
1216|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
geraldbetty|  楼主 | 2024-4-27 13:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

1、IWDG简介:

  STM32 有两个看门狗,一个是独立看门狗另外一个是窗口看门狗,独立看门狗号称宠物狗,窗口看门狗号称警犬,本章我们主要分析独立看门狗的功能框图和它的应用。独立看门狗用通俗一点的话来解释就是一个 12 位的递减计数器,当计数器的值从某个值一直减到 0 的时候,系统就会产生一个复位信号,即 IWDG_RESET。如果在计数没减到 0 之前,刷新了计数器的值的话,那么就不会产生复位信号,这个动作就是我们经常说的喂狗。看门狗功能由 VDD 电压域供电,在停止模式和待机模式下仍能工作。  

2 、IWDG功能框图剖析


  ①独立看门狗时钟  

  独立看门狗的时钟由独立的 RC振荡器 LSI提供,即使主时钟发生故障它仍然有效,非常独立。LSI的频率一般在 30~60KHZ之间,根据温度和工作场合会有一定的漂移,我们一般取 40KHZ,所以独立看门狗的定时时间并一定非常精确,只适用于对时间精度要求比较低的场合。

②计数器时钟  

  递减计数器的时钟由 LSI经过一个 8位的预分频器得到,我们可以操作预分频器寄存器 IWDG_PR 来设置分频因子,分频因子可以是:[4,8,16,32,64,128,256,256],计数器时钟CK_CNT= 40/ 4*2^PRV,一个计数器时钟计数器就减一。

③计数器

  独立看门狗的计数器是一个 12 位的递减计数器,最大值为 0XFFF,当计数器减到 0时,会产生一个复位信号:IWDG_RESET,让程序重新启动运行,如果在计数器减到 0 之前刷新了计数器的值的话,就不会产生复位信号,重新刷新计数器值的这个动作我们俗称喂狗。

④重装载寄存器

  重装载寄存器是一个 12 位的寄存器,里面装着要刷新到计数器的值,这个值的大小决定着独立看门狗的溢出时间。超时时间 Tout = (4*2^prv) / 40 * rlv (s) ,prv是预分频器寄存器的值,rlv是重装载寄存器的值。

⑤键值寄存器

  键值寄存器 IWDG_KR 可以说是独立看门狗的一个控制寄存器,主要有三种控制方式,往这个寄存器写入下面三个不同的值有不同的效果。

通过写往键寄存器写 0XCCC 来启动看门狗是属于软件启动的方式,一旦独立看门狗启动,它就关不掉,只有复位才能关掉。

⑥状态寄存器

  状态寄存器 SR只有位 0:PVU和位 1:RVU有效,这两位只能由硬件操作,软件操作不了。RVU:看门狗计数器重装载值更新,硬件置 1 表示重装载值的更新正在进行中,更新完毕之后由硬件清 0。PVU: 看门狗预分频值更新,硬件置’1’指示预分频值的更新正在进行中,当更新完成后,由硬件清 0。所以只有当 RVU/PVU等于 0 的时候才可以更新重装载寄存器/预分频寄存器。

3、 怎么用 IWDG

  独立看门狗一般用来检测和解决由程序引起的故障,比如一个程序正常运行的时间是50ms,在运行完这个段程序之后紧接着进行喂狗,我们设置独立看门狗的定时溢出时间为60ms,比我们需要监控的程序 50ms 多一点,如果超过 60ms 还没有喂狗,那就说明我们监控的程序出故障了,跑飞了,那么就会产生系统复位,让程序重新运行。


4 、IWDG超时实验

硬件设计:


1-IWDG,属于内部资源,无需外部硬件
2-KEY 一个
3-LED 两个,用开发板自带的RGB灯即可

实验设计

配置IWDG的超时时间为1S,如果在1S之内没有及时喂狗的话,产生系统复位,并用LED灯的状态变化来指示。

编程要点

1-如何配置IWDG的超时时间?
2-如果编写喂狗函数?
3-在main函数里面的什么地方喂狗比较合适?

配置IWDG的超时时间。



/* * 设置 IWDG 的超时时间 * Tout = prv/40 * rlv (s) *      prv可以是[4,8,16,32,64,128,256] * prv:预分频器值,取值如下: *     @ARG IWDG_Prescaler_4: IWDG prescaler set to 4 *     @arg IWDG_Prescaler_8: IWDG prescaler set to 8 *     @arg IWDG_Prescaler_16: IWDG prescaler set to 16 *     @arg IWDG_Prescaler_32: IWDG prescaler set to 32 *     @arg IWDG_Prescaler_64: IWDG prescaler set to 64 *     @arg IWDG_Prescaler_128: IWDG prescaler set to 128 *     @arg IWDG_Prescaler_256: IWDG prescaler set to 256 * *        独立看门狗使用LSI作为时钟。 *        LSI 的频率一般在 30~60KHZ 之间,根据温度和工作场合会有一定的漂移,我 *        们一般取 40KHZ,所以独立看门狗的定时时间并一定非常精确,只适用于对时间精度 *        要求比较低的场合。 * * rlv:重装载寄存器的值,取值范围为:0-0XFFF * 函数调用举例: * IWDG_Config(IWDG_Prescaler_64 ,625);  // IWDG 1s 超时溢出  *                        (64/40)*625 = 1s */void IWDG_Config(uint8_t prv ,uint16_t rlv){        // 使能 预分频寄存器PR和重装载寄存器RLR可写    IWDG_WriteAccessCmd( IWDG_WriteAccess_Enable );        // 设置预分频器值    IWDG_SetPrescaler( prv );        // 设置重装载寄存器值    IWDG_SetReload( rlv );        // 把重装载寄存器的值放到计数器中    IWDG_ReloadCounter();        // 使能 IWDG    IWDG_Enable();    }


喂狗函数:



// 喂狗void IWDG_Feed(void){    // 把重装载寄存器的值放到计数器中,喂狗,防止IWDG复位    // 当计数器的值减到0的时候会产生系统复位    IWDG_ReloadCounter();}




  #include "stm32f4xx.h"#include "./led/bsp_led.h"#include "./key/bsp_key.h" #include "./iwdg/bsp_iwdg.h"static void Delay(__IO u32 nCount); int main(void){    /* LED 端口初始化 */    LED_GPIO_Config();             Delay(0X8FFFFF);        /* 检查是否为独立看门狗复位 */  if (RCC_GetFlagStatus(RCC_FLAG_IWDGRST) != RESET)  {    /* 独立看门狗复位 */    /*  亮红灯 */    LED_RED;    /* 清除标志 */    RCC_ClearFlag();                /*如果一直不喂狗,会一直复位,加上前面的延时,会看到红灯闪烁        在1s 时间内喂狗的话,则会持续亮绿灯*/  }  else  {    /*不是独立看门狗复位(可能为上电复位或者手动按键复位之类的) */    /* 亮蓝灯 */    LED_BLUE;  }            /*初始化按键*/  Key_GPIO_Config();            // IWDG 1s 超时溢出    IWDG_Config(IWDG_Prescaler_64 ,625);      //while部分是我们在项目中具体需要写的代码,这部分的程序可以用独立看门狗来监控  //如果我们知道这部分代码的执行时间,比如是500ms,那么我们可以设置独立看门狗的    //溢出时间是600ms,比500ms多一点,如果要被监控的程序没有跑飞正常执行的话,那么    //执行完毕之后就会执行喂狗的程序,如果程序跑飞了那程序就会超时,到达不了喂狗的    //程序,此时就会产生系统复位。但是也不排除程序跑飞了又跑回来了,刚好喂狗了,    //歪打正着。所以要想更精确的监控程序,可以使用窗口看门狗,窗口看门狗规定必须    //在规定的窗口时间内喂狗。    while(1)                                {               if( Key_Scan(KEY1_GPIO_PORT,KEY1_PIN) == KEY_ON  )        {            // 喂狗,如果不喂狗,系统则会复位,复位后亮红灯,如果在1s            // 时间内准时喂狗的话,则会亮绿灯            IWDG_Feed();                    //喂狗后亮绿灯            LED_GREEN;        }    }}static void Delay(__IO uint32_t nCount)     //简单的延时函数{    for(; nCount != 0; nCount--);}/*********************************************END OF FILE**********************/


程序先检查是否为独立看门狗复位,如果是独立看门狗复位亮红灯。如果一直不喂狗,会一直复位,加上前面的延时,会看到红灯闪烁,在1S时间内喂狗的话,则会持续亮绿灯。


沙发
yangxiaor520| | 2024-4-27 13:10 | 只看该作者
我一般都是使用外部硬件看门狗
板凳
纠结的那些年| | 2024-8-31 16:18 | 只看该作者
如果系统由于软件错误或外部干扰陷入死循环或无法正常运行,独立看门狗可以通过复位操作恢复系统正常工作。
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

1586

帖子

0

粉丝
醋酸是什么东西 什么东西越洗越脏脑筋急转弯 屠苏酒是什么酒 不加一笔是什么字 年下恋是什么意思
厦门有什么好吃的 涉黑是什么意思 子衿什么意思 早泄什么意思 嘘寒问暖是什么意思
酉是什么字 身份证后四位代表什么 右腿麻木是什么征兆 甜瓜什么时候成熟 来月经吃什么排得最干净
梦见男婴儿是什么意思 眉什么目什么 脚底褪皮是什么原因 梦到考试是什么意思 考法医需要什么条件
8月31号是什么星座hcv9jop4ns3r.cn 阿华田是什么bjcbxg.com 尿道炎吃什么药好hcv8jop1ns9r.cn 蒲公英和什么相克致死96micro.com 什么叫做洗钱hcv7jop5ns3r.cn
什么是射频治疗hcv8jop9ns0r.cn 牛奶什么时间喝最好hcv7jop6ns3r.cn 特别能睡觉是什么原因引起的wuhaiwuya.com 椰子水有什么好处hcv8jop2ns7r.cn 蜗牛有什么特点hcv9jop3ns3r.cn
皮蛋是什么蛋hcv8jop7ns9r.cn 书房字画写什么内容好hcv7jop6ns7r.cn 候车是什么意思hcv7jop7ns4r.cn 黄晓明的老婆叫什么名字hcv9jop5ns2r.cn 发际线长痘痘是什么原因hcv9jop7ns1r.cn
纯磨玻璃结节是什么意思hcv8jop1ns1r.cn 边界尚清是什么意思hcv9jop2ns4r.cn 检查肝脏挂什么科hcv9jop8ns0r.cn 隐翅虫咬人后用什么药hcv8jop3ns2r.cn 前呼后拥是什么意思hcv9jop0ns7r.cn
百度