首页 > 其他分享 >GD32F103C8T6看门狗

GD32F103C8T6看门狗

时间:2023-11-16 11:45:03浏览次数:30  
标签:fwdgt 窗口 复位 独立 看门狗 GD32F103C8T6 时钟

GD32F10x看门狗

  • 两个看门狗设备(独立看门狗IWDG和窗口看门狗WWDG)可用来检测和解决由软件错误引起的故障;
    当计数器达到给定的超时值时,触发一个中断(仅适用于窗口型看门狗)或产生系统复位。

一、独立看门狗IWDG

  • 特性:
    自由运行的递减计数器;
    时钟由独立的RC振荡器提供(可在停止和待机模式下工作);
    看门狗被激活后,则在计数器计数至0x000时产生复位。

二、窗口看门狗

窗口看门狗(WWDG)通常被用来监测由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。

三、比较

相同点:

目标都是为了防止MCU进入死循环
代码执行超时(或者外部触发)导致没法喂狗就会产生复位
喂狗的具体时间可以设定。

不同点:

1、计数所用的时钟源不同,独立看门狗由内部40KHz低速时钟驱动,窗口看门狗使用PCLK1的时钟;
2、窗口看门狗在使用之前需要先使能时钟,而独立看门狗不需要使能时钟操作;
3、独立看门狗超时直接复位,没有中断;窗口看门狗有中断,超时可以在中断做复位前的函数操作或重新喂狗;
4、独立看门狗一般用于避免程序跑飞或死循环;窗口看门狗用于避免程序不按预定逻辑执行;
5、计数方式不同,独立看门狗是12位递减的,而窗口看门狗的寄存器低8位有效,是6位递减的;
6、超时复位时间范围不同,独立看门狗计数器值(tr)<IWDG重装载值时,进行喂狗;窗口看门狗的计数器值(tr)在0x40和窗口值(wr)之间时进行喂狗。

四、看门狗配置

独立看门狗初始化

/**
*@brief: 初始化独立看门狗
*@param  reloadValue:重装载值
*        prescaler:  时钟分频值
*@retval NONE
*/
void Drv_FwdgInit(uint16_t reloadValue, uint8_t prescaler)
{
	// 开启时钟源(IRC40K)以供看门狗使用
	rcu_osci_on(RCU_IRC40K); 
	while(SUCCESS != rcu_osci_stab_wait(RCU_IRC40K)); // 等待IRC40k稳定
	fwdgt_write_enable();
	fwdgt_config(reloadValue, prescaler);  
	fwdgt_write_disable();
	fwdgt_enable(); // 使能看门狗
}

喂狗

void Drv_FwdgReload(void)
{
	fwdgt_write_enable();
	fwdgt_counter_reload();
}

标签:fwdgt,窗口,复位,独立,看门狗,GD32F103C8T6,时钟
From: https://www.cnblogs.com/xiaohuzaixue/p/17834988.html

相关文章

  • NetCore windowsService 看门狗应用程序
    publicclassDogService:BackgroundService{publicoverrideTaskStartAsync(CancellationTokencancellationToken){returnbase.StartAsync(cancellationToken);}///<summary>///每一秒执行一次......
  • 嵌入式专题研究2:系统时钟和定时器和看门狗
    时钟系统:构成:1.振荡器——脉搏RC振荡器晶体振荡器四种:HSE,HSI,LSE,LSI2.唤醒定时器3.PLL倍频器4.各种分频器 可以通过stm32cubemx进行时钟配置,但是在SystemClock_Config()函数前,在启动文件中有默认的时钟配置。while(1){HAL_GPIO_WritePin......
  • 10_学会单片机STM32看门狗
    学会单片机STM32看门狗HAL_Delay(x);x>100ms看门狗重启x<100ms持续运行......
  • 独立看门狗实验
    当我们需要保证系统稳定运行并防止意外崩溃时,独立看门狗(IndependentWatchdog,简称IWDG)是一种非常有用的硬件功能。IWDG是一种硬件定时器,用于定期检测系统是否处于预期状态,并在系统出现异常或超时时进行重置。在本篇博客文章中,我们将使用CubeMX工具和STM32微控制器来实现一个独立看......
  • 看门狗
    独立看门狗(IWDG)本质:产生系统复位信号的计数器(RCC_CSR控制寄存器复位状态标志位进行查看)。NRST引脚上的低电平(开发板上的复位按键)窗口看门狗计数终止(WWDG复位)独立看门狗计数终止(IWDG复位)软件复位(SW复位)低功耗管理复位特性:计数器是递减的计数器,时钟有独立的RC振荡......
  • Redisson看门狗机制你了解多少
    前言谈到Redisson就不得不说Redis了,一想到Redis就不得不想到并发编程锁机制,一想到锁机制那么就不能不考虑一个很头疼的问题,如何保证原子性的问题,高QPS请求量的系统对每次执行数据的原子性由为的关键,保证不了原子性就会导致一系列重复提交的操作,重复的数据导致在某些逻辑运算的时候......
  • STM32深入学习3:DMA,串口通信和看门狗
    DMADMA直接存储器存取,用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。DMA1有7个通道,DMA2有5个通道,还有一个仲裁器来协调各个DMA请求的优先权。DMA的作用是实现数据的直接传输,从地址到地址的数据传输。DMA传输的相关参数:源地址,目标地址,数据传输量,传输模式......
  • ATtiny88初体验(四):看门狗
    ATtiny88初体验(四):看门狗ATtiny88单片机的看门狗使用内部独立的128KHz时钟源,拥有3种工作模式:Interrupt模式:超时产生中断;SystemReset模式:超时产生系统复位;Interrupt&SystemReset模式:超时产生中断,中断处理完成后产生系统复位。当熔丝位WDTON被编程时(值为0),将强制将看门......
  • 在CentOS小实验看门狗watchdog
    前言继续上文内容https://blog.51cto.com/infrado/7083074,上文说到,看门狗的调用。环境实验环境同上文,继续是ESXi环境,进行一些有趣的实验,以及在x86服务器硬件上,看门狗是如何工作的,以及arm环境的Linux系统看门狗的小实验。watchdog经常被用于重置系统,其实在很多业务中相当实用,但是极......
  • 15. 窗口看门狗
    一、什么是窗口看门狗  窗口看门狗(Windowwatchdog,简称WWDG)通常被用来监测由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。窗口看门狗它是一个能产生系统复位信号和提前唤醒中断的递减计数器,不同的是它们的复位条件不一样。窗口......