完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一、看门狗相关概述
1.概念 2.原理 二、相关寄存器 1.键值寄存器( IWDG_KR) 2.预分频寄存器( IWDG_PR) 3.重装载寄存器( IWDG_RLR) 4.状态寄存器( IWDG_SR) 三、操作步骤 1.独立看门狗超时时间计算 2.操作步骤 四、程序源码 1.iwdg.h 代码如下: #ifndef __IWDG_H#define __IWDG_H#include “sys.h”void IWDG_Init(u8 prer,u16 rlr);#endif 2.iwdg.c 代码如下: #include “iwdg.h”void IWDG_Init(u8 prer,u16 rlr){ IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);//取消寄存器写保护 IWDG_SetPrescaler(prer);//设置独立看门狗的预分频系数 IWDG_SetReload(rlr);//设置看门狗重装载值 IWDG_Enable();//使能看门狗} 3.main.c 代码如下: #include “stm32f10x.h”#include “led.h”#include “delay.h”#include “beep.h”#include “key.h”#include “usart.h”#include “exti.h”#include “iwdg.h”int main(void){ NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); delay_init(); LED_Init(); Beep_Init(); KEY_Init(); uart_init(115200); EXTIX_Init(); IWDG_Init(4,625);//1s 1000ms=4*2^4/40*rlr delay_ms(200); LED1=0; while(1) { if(KEY_SCAN(1)==KEY0_PRES) { IWDG_ReloadCounter(); } } } 五、实验结果 无操作时,LED0每隔200ms点亮,一直进行复位操作; 当按下一次KEY0按键,相当于“喂狗”一次,此时不进行复位操作; 当一直按下KEY0按键,LED0不亮,此时一直“喂狗”,一直无法进行复位操作; 总结 只要你在一秒钟之内,有一次写入 0XAAAA 到 IWDG_KR,就不会导致看门狗复位(当然写入多次也是可以的)。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1771 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1619 浏览 1 评论
1070 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
724 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1673 浏览 2 评论
1935浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
728浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
567浏览 3评论
593浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
551浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 09:41 , Processed in 0.866045 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号