完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
|
相关推荐
1个回答
|
|
STM32F10xxx内置两个看门狗,提供了更高的安全性、时间的精确性和使用的灵活性。两个看门狗设备(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的故障。
独立看门狗(IWDG)由专用的低速时钟(LSI)驱动,即使主时钟发生故障它也仍然有效。IWDG最适合应用于那些需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间精度要求较低的场合。 我们的实验这样设计,主函数开始的时候,向串口输出“Hello World”,然后启动看门口(溢出时间设定为3秒钟)。在按下按键的时候喂狗,同时串口打印“喂狗”。 预期结果:如果不按按键,则约每三秒重启一次,现象是串口隔三秒就会打印“Hello World”;如果在启动后的3秒内按键,则显示“喂狗”,再在3秒内按键……这样保证不重启。 看一下代码吧。 独立看门狗的初始化: void IWDG_Init(u8 prer,u16 rlr) { IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); //使能对寄存器 IWDG_PR 和 IWDG_RLR的写操作 IWDG_SetPrescaler(prer); //设置预分频值 IWDG_SetReload(rlr); //设置重装载值 IWDG_ReloadCounter(); //按照重装载值装载IWDG计数器 IWDG_Enable(); //看门狗使能 } 这个函数有两个参数:prer 和 rlr PRER 就是表格中的PR[2:0],取值范围是0-7; RLR就是表格中的RL[11:0],取值范围是0x000-0xFFF; 注意:这里的时间是粗略计算的,不是那么准确。 溢出时间 = 2^PR*(RL+1)/10 单位:ms 如果我们定时3秒钟,那么应该是: IWDG_Init(4,1874); // 2^4 * (1874+1) / 10 (ms)= 16*1875/10 (ms)= 3000(ms) = 3s 主函数代码: int main(void) { delay_init(); //延时函数初始化 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); uart_init(9600); //串口初始化 printf("Hello World ! rn"); IWDG_Init(4,1874); // 看门狗初始化并使能 key_init(); //按键IO初始化 EXTIX_Init(); // 按键中断初始化 while(1) { ; } } 喂狗的操作是: void IWDG_Feed(void) { IWDG_ReloadCounter();//reload } 我们在按键中断处理中喂狗: void EXTI0_IRQHandler(void) { delay_ms(10); //消除抖动 if(KEY3==1) //WK_UP { printf("喂狗......rn"); IWDG_Feed(); } EXTI_ClearITPendingBit(EXTI_Line0); //清除中断标志位 } 实验结果如图。 如果不喂狗,那么大约3秒钟就会重启。 如果喂狗,效果如下。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1777 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1621 浏览 1 评论
1080 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
728 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1678 浏览 2 评论
1938浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
731浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
570浏览 3评论
595浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
554浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 09:39 , Processed in 0.791382 second(s), Total 75, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号