前言
今天总结“STM32F103 WDG看门狗”,STM32F1有两个看门狗,IWDG独立看门狗和WWDG窗口看门狗,今天将两个看门狗一并总结了。
总结一下二者的区别:
1)、IWDG使用内部低速时钟LSI,WWDG使用系统时钟APB1ENR
2)、IWDG没有中断,WWDG有中断
3)、IWDG是12位递减的。WWDG是7位递减的
4)、IWDG只有下限,WWDG有下限和上限
5)、IWDG最适合应用于那些需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间精度要求较低的场合。 WWDG最适合那些要求看门狗在精确计时窗口起作用的应用程序。
看门狗在长期工作的产品中用到比较多,作用很简单,防止死机。看门狗的功能也可用于定时计数等。
提供下载的“软件工程”都是在硬件板子上进行多次测试、并保证没问题才上传至360云盘。
今天的软件工程下载地址(360云盘):
IWDG:https://yunpan.cn/cSQd68LfbPkIH访问密码 d751
WWDG:https://yunpan.cn/cSQdk5CLVWVwW访问密码 fe96
STM32F10x的资料可以在我360云盘下载:
https://yunpan.cn/crBUdUGdYKam2访问密码 ca90
内容讲解
工程概要说明: IWDG工程基于“EXIT中断”工程修改而来,因为使用到按键来喂狗。系统复位,快速闪烁两次LED,接下来间隔1秒串口打印一个计数值(从0 - 8),在8秒的时间内按键喂狗,计数值会归零;如果不喂狗则会复位。
WWDG工程基于“TIM定时”而来,因为使用了定时的功能。我提供的工程喂狗的时间是57ms(刚好最大值),间隔57ms喂狗一次,不会复位(LED快速变化, 快速打印WWDG...); 如果大于57ms(自己可以修改一下)未喂狗则会复位(LED慢速变化, 不断打印Reset...)。
提供的工程简单明了,详细中文注释,方便自己方便大家。
关于“STM32F103 WDG看门狗”我把重要的几点在下面分别讲述:
一、IWDG的配置
该函数位于IWDG工程的main.c文件下面;
提供的框图为见资料。
我想大部分关心的是这个8秒的喂狗时间是怎样计算出来的,其实,看了程序的注释和框图大概就应该能明白了。40K分频256之后就只能在1秒计数156次,
而要计满1250(40000/32)就需要8秒。不明白的朋友请自己分析一下哦。
二、WWDG的配置
该函数位于WWDG工程的main.c文件下面;
提供的框图为见资料。
这里也主要讲一下最大喂狗时间57ms.分频之后只能在1秒计数1099次,要计满63个大概就需要57ms,这个值就是最大值。
这个工程需要自己修改这个时间来测试,建议都自己亲手修改代码测试一下。
三、WWDG主函数
该函数位于WWDG工程的main.c文件下面;
通过串口打印的信息就可以清楚的知道系统复位了没有。
亲手修改来大于57ms的时间试试就知道。
四、今天的重点
A.WWDG计数器的范围为:0x40 --- 0x7F
B.当微控制器进入调试模式时(Cortex-M3核心停止),根据调试模块中的DBG_WWDG_STOP 配置位的状态, WWDG的计数器能够继续工作或停止。
C.没有两个寄存器,编程时请细看寄存器
说明
今天提供的软件工程基于STM32F103大容量芯片,其实只要适当修改工程的部分配置,STM32F1的芯片都适用。
上一篇:STM32F1_ 片内FLASH编程
下一篇:CM3(STM32) 内核复位与系统复位区别及应用
推荐阅读最新更新时间:2024-11-12 21:18
设计资源 培训 开发板 精华推荐
- 用于ST25R3911B高性能HF读取器/ NFC启动器的开发套件,具有1.4 W输出功率,VHBR和AAT
- LTC2945IUD-1 具有高达 200V 浪涌保护的坚固型 4V 至 70V 高压侧功率监视器的典型应用
- REF193 精密微功耗、低压差电压基准的典型应用
- DER-403 - 10W CV/CC充电器
- 0.91寸OLED+ESP8266-12F
- C8051F982DK,用于工业应用的 C8051F982 8051 微控制器的开发系统
- 使用 Analog Devices 的 LTC1439CG 的参考设计
- LT1961 采用 4V 至 18V 输入至 12V 输出 3mm 最大高度全陶瓷 SEPIC
- LTC3714EG 演示板,英特尔笔记本处理器电源,7.5V 至 24V 输入,0.6V 至 1.75Vout @ 20A
- TB67S512FTAG 2 相双极步进电机驱动器评估板