完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
概述
窗口看门狗通常被用来监测,由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。除非递减计数器的值在T6位变成0前被刷新,看门狗电路在达到预置的时间周期时,会产生一个MCU复位。在递减计数器达到窗口寄存器数值之前,如果7位的递减计数器数值(在控制寄存器中)被刷新, 那么也将产生一个MCU复位。这表明递减计数器需要在一个有限的时间窗口中被刷新。 条件复位 当递减计数器的值小于0X40则启动复位 当递减计数器在窗口外被重装载则复位 如果启动了窗口看门狗且开启中断,当递减计数器计数到0X40时产生早期唤醒中断(EWI),用于重装载计数器避免看门狗复位 STM32中文参考手册18.3 窗口看门狗超时时间公式 TWWDG = TPCLK1 x 4096 x 2^WDGTB x (T[5:0] + 1) 步骤 使能时钟 窗口看门狗使用APB1时钟分频 RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG,ENABLE); 设置分频系数 WWDG_SetPrescaler(WWDG_Prescaler); 设置窗口值 WWDG_SetWindowValue(WWDG_WindowValue); 使能看门狗 WWDG_Enable(WWDG_ReloadValue); 清除中断标志位 WWDG_ClearFlag(); 初始化中断设置 NVIC_wwdg_Init.NVIC_IRQChannel=WWDG_IRQn; NVIC_wwdg_Init.NVIC_IRQChannelCmd=ENABLE; NVIC_wwdg_Init.NVIC_IRQChannelPreemptionPriority=0 NVIC_wwdg_Init.NVIC_IRQChannelSubPriority=2 NVIC_Init(&NVIC_wwdg_Init); 使能中断 WWDG_EnableIT(); 编写中断服务函数 void WWDG_IRQHandler() { WWDG_SetCounter(WWDG_ReloadValue WWDG_ClearFlag(); } |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1617 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1543 浏览 1 评论
977 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
683 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1595 浏览 2 评论
1863浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
645浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
516浏览 3评论
532浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
505浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 11:21 , Processed in 0.831064 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号