完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
|
|
STM32 + 看门狗
看门狗介绍 实际的MCU应用系统中,由于常常会受到来自外界的某些干扰,有可能造成程序跑飞而进入死循环,从而导致整个系统的陷入停滞状态并且不会自动回复到可控的工作状态。所以出于对MCU运行的安全考虑,便引入了一种专门复位监控电路WatchDog,俗称看门狗。看门狗电路所起的作用是一旦MCU运行出现故障,就强制对MCU进行硬件复位。 独立看门狗 (IWDG) 此器件具有一个嵌入式看门狗外设,具有安全性高、定时准确及使用灵活的优点。此独立看门狗外设可检测并解决由软件错误导致的故障,并在计数器达到给定的超时值时触发系统复位。 独立看门狗 (IWDG) 由其专用低速时钟 (LSI) 驱动,因此即便在主时钟发生故障时仍然保持工作状态。 IWDG 最适合应用于需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间精度要求较低的应用 IWDG 主要特性 自由运行递减计数器 时钟由独立 RC 振荡器提供(可在待机和停止模式下运行) 复位条件 – 当递减计数器值小于 0x000时复位(如果看门狗已激活) – 在窗口之外重载递减计数器时复位(如果看门狗已激活) 配置 #ifdef WATCH_DOG_ENABLE IWDG_HandleTypeDef hiwdg; void MX_IWDG1_Init(void) { hiwdg.Instance = IWDG; hiwdg.Init.Prescaler = IWDG_PRESCALER_256; hiwdg.Init.Window = 4095; hiwdg.Init.Reload = 4095; if (HAL_IWDG_Init(&hiwdg) != HAL_OK) { while (1) { } } } static struct rt_timer wdg_refresh_timer; static void wdg_timeout(void *arg) { HAL_IWDG_Refresh(&hiwdg); } rt_err_t wdg_start(void) { MX_IWDG1_Init(); rt_timer_init(&wdg_refresh_timer, “wdg_timer”, wdg_timeout, NULL, RT_TICK_PER_SECOND, RT_TIMER_FLAG_PERIODIC | RT_TIMER_FLAG_SOFT_TIMER); rt_timer_start(&wdg_refresh_timer); return RT_EOK; } #endif |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
调试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:23 , Processed in 0.567784 second(s), Total 40, Slave 32 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号