历史上的今天
今天是:2024年10月17日(星期四)
2018年10月17日 | 关于STM32的看门狗总结
2018-10-17 来源:eefocus
一、独立看门狗
STM32的独立看门狗有内部的40kHz低速时钟驱动,即使主时钟发生故障,他也仍然有效。需要注意:独立看门狗的时钟是一个内部RC时钟,所以并不是准确的40kHz,而是在30kHz~60kHz之间变化的时钟,所以独立看门狗的时间并不精确。
在键值寄存器(IWDG_KR)中写入0xCCCC,开始启动独立看门狗;此时计数器开始从复位值0xFFF递减计数;当计数到末尾0x000时,会产生一个信号(IWDG_RESET)。无论何时只要键值寄存器(IWDG_KR)中写入0xAAAA,IWDG_RLR中的值就会被重新加载到计数器中去,从而避免产生看门狗复位。
独立看门狗时钟来自内部低速时钟LSI,需使能 RCC_LSICmd(ENABLE);
A、取消寄存器写保护(向IWDG_KR写入0x5555)
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
B、设置独立看门狗的预分频系数和重装载值
IWDG_SetPrescaler(uint8_t IWDG_Prescaler);
IWDG_SetReload(uint16_t Reload);
看门狗溢出时间:
Tout=((4*2^IWDG_Prescaler)*Reload)/40 ms
C、重载计数值喂狗(向IWDG_KR写入0xAAAA)
IWDG_ReloadCounter();
D、启动看门狗(向IWDG_KR写入0xCCCC)
IWDG_Enable();
注意:IWDG一旦启用,就不能再被关闭!想要关闭只能重启,并且重启之后不能打开IWDG。
二、窗口看门狗
除非递减计数器的值在WWDG_CR的第六位变成0前刷新,窗口看门狗在达到预置的时间周期时会产生一个MCU复位。递减计数器达到窗口配置寄存器(WWDG_CFR)数值之前,如果7位的递减计数器的数值被刷新,那么也将产生一个MCU复位。
WWDG_CFR的低7位是窗口看门狗的上窗口,是由用户根据需要设定的,要确保上窗口值大于0x40;下窗口值是固定的0x40;WWDG_CR的低7位是窗口看门狗的计数值。窗口看门狗只有在上下窗口之间被刷新才不会产生复位。
超时公式:
Twwdg=(4096*2^WDGTB*(计数值+1))/Fpclkl ms
注:Fpclkl是APB1的时钟频率(kHz)
WDGTB是WWDG的预分频系数
A、使能WWDG时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG,ENABLE);
B、设置窗口值和分频数
void WWDG_SetWindowValue(uint8_t WindowValue); //设置窗口值
void WWDG_SetPrescaler(uint32_t WWDG_Prescaler);//设置分频数
C、开启WWDG中断并分组
WWDG_EnableIT();
D、设置计数器初始值并使能看门狗
void WWDG_Enable(uint8_t Counter);
E、编写中断服务函数
WWDG中断初始化WWDG_IRQn;在中断服务函数WWDG_IRQHandler中调用WWDG_ClearFlag(),清除提前唤醒中断标志位。
史海拾趣
|
哈哈,抽时间写了一个博客,说说自己学习dsp2812的体会,欢迎大家共同探讨哦~~~ https://home.eeworld.com.cn/my/space.php?uid=117818&do=blog&id=22384&cid=1945… 查看全部问答> |
|
USB作为一种新型的接口技术以其简单易用速度快等特点而备受青睐本文简单介绍USB 接口的特点和PHILIPS 公司的USB 接口芯片PDIUSBD12 并详细说明USB 软硬件开发过程中 应注意的问题… 查看全部问答> |
|
尚为科技-机房环境监控专家,机房环境监控产品专业厂商,产品具有稳定、易用、低功耗的特点,产品经过了权威部门的测试,已形成较完整的产品系列和行业解决方案,获得良好的用户口碑。 欢迎来电垂询,电话:0592-5204071 6300605 6300607 ...… 查看全部问答> |
|
我用台式机跟研华6552的工控板 wince系统 通过双机互联线连接 台式机ip是192.168.0.12 工控机是192.168.0.192 从台式机上ping 工控机没有问题 但是ActiveSync一直连接不上 ActiveSync图标一直是灰色的 … 查看全部问答> |
|
现在在调TELECHIPS中的TCC7901芯片板子,TCC7901有6个PORT,但只有4个通道,我老板要我把2。2的BSP中的4个通道都用上,但2。2的BSP默认是把CH0和CH2分别用在了调试和IRda中,所以只有两个串口可用,我的任务就是改CH0和CH2为可用,请问一下有没有调 ...… 查看全部问答> |
|
今天有空,开贴讲讲,怎样配合ST提供的库函数理解STM32F102/103的USB模块,以及怎么调用这些库函数来实现基本的USB通信。 题目很大,先只讲讲最简单的应用。… 查看全部问答> |




