单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗电路就是为了避免这种情况的发生。
看门狗的作用就是在一定时间内(通过定时计数器实现)没有接收喂狗信号(表示 MCU 已经挂了),便实现处理器
的自动复位重启(发送复位信号)。
以下为stm32f042单片机独立看门狗相关代码:
/**********************************************************
*函数描述:初始化独立看门狗,timeout为1s
*函数:void IWDG_Init(unsigned char usb_sw)
*参数:无
*作者:
*日期:
***********************************************************/
void IWDG_Init(void)
{
/* Set counter reload value to obtain 250ms IWDG TimeOut.
Counter Reload Value = 1000ms/IWDG counter clock period
= 1000ms / (128/LSI)
= LsiFreq/128
*/
IWDG->KR = 0x5555; //使能对寄存器写操作
IWDG->PR = 0x05; //设置预分频为128分频
IWDG->KR = 40000/128; //设置重装载值
IWDG->KR = (uint16_t)0xAAAA; //重装载计数器
IWDG->KR = (uint16_t)0xCCCC; //使能看门狗
}
/* 喂狗函数 */
void IWDG_ReloadCounter(void)
{
IWDG->KR = (uint16_t)0xAAAA;
}
上一篇:STM32F1小白系列之四、独立看门狗(IWDG)
下一篇:stm32 低功耗下使用看门狗(不喂狗)
推荐阅读
史海拾趣
我学应用电子的,一直从事消费类电子产品设计。 多年来一直搞电路设计和单片机编程再就是PCB的layout工作, 现在感觉这个行业也就这样了,做工程师永远就是打工,一个字----穷 自己做产品竞争太激烈,再说电子产品是谁都会做,没什么太大的技术 ...… 查看全部问答∨ |
看大家都喜欢zigbee, 上传网上找来的ZigBee中文资料, 是中文的,大家慢慢看 发现大家只是喜欢zigbee, 交流喜欢zigbee体会的人很少.… 查看全部问答∨ |
寄存器跟存储器有什么区别? 寄存器上:“一个操作码+一个操作数”等于一条微指令吗?一条微指令是完成一条机器指令的一个步骤对吗? cpu是直接跟寄存器打交道的对吗?也就是说寄存器是运算器、控制器的组成部分对不? 设计一条指令就是说把几条 ...… 查看全部问答∨ |
|
BEAGLEBONE+扩展板+鼠标进入LINUX 图形界面,已经可以浏览网页、显示照片和编写文档了 BEAGLEBONE这么好的开发板,没有图形系统还只是在终端里调试那些枯燥的字符,真的很可惜。 所以我给他加了一个微型但是分辨率高达1280*800的5寸屏。这几天琢磨怎么进入LINUX的图形界面。 ...… 查看全部问答∨ |
如何设计具有 COT 的稳定 Fly-Buck™ 转换器 - 1 作者:德州仪器 Xiang FangFly-Buck™ 转换器拓扑被公认为是一种多功能的隔离式偏置电源,其在各类应用中得到了越来越多的关注。同步降压转换器可以配置成 Fly-Buck,但并非所有控制方法都能简单应用于这种拓扑。图1. 纹波注入网络Rr、Cr 和Ca ...… 查看全部问答∨ |