【STM32】定时器、看门狗

 目录

1、看门狗定时器(WDT,Watch Dog Timer) 

 2、嘀嗒定时器

3、普通定时器和高级定时器


开发板为洋桃一号开发板,MCU为STM32F103C8T6

1、看门狗定时器(WDT,Watch Dog Timer) 

(戳我即可看百科)

概念:

看门狗定时器(WDT,Watch Dog Timer)是单片机的一个组成部分,它实际上是一个计数器,一般给看门狗一个数字,程序开始运行后看门狗开始计数。如果程序运行正常,过一段时间CPU应发出指令让看门狗置零,重新开始计数。如果看门狗增加到设定值就认为程序没有正常工作,强制整个系统复位。

实际上就是一个在单片机运行异常时为自主复位功能的是否发生起计时作用的定时器。

MCU中集成了一个独立看门狗一个窗口看门狗。

独立看门狗 :独立的看门狗是基于一个12位的递减计数器和一个8位的预分频器,它由一个内部独立的40kHzRC 振荡器提供时钟;因为这个RC振荡器独立于主时钟,所以它可运行于停机和待机模式。它可以被当 成看门狗用于在发生问题时复位整个系统,或作为一个自由定时器为应用程序提供超时管理。通过 选项字节可以配置成是软件或硬件启动看门狗。在调试模式下,计数器可以被冻结。

窗口看门狗 :窗口看门狗内有一个7位的递减计数器,并可以设置成自由运行。它可以被当成看门狗用于在发生问 题时复位整个系统。它由主时钟驱动,具有早期预警中断功能;在调试模式下,计数器可以被冻结。

区别

1)独立看门狗没有中断,窗口看门狗有中断

2)独立看门狗有硬件软件之分,窗口看门狗只能软件控制

3)独立看门狗只有下限,窗口看门狗又下限和上限

4)独立看门狗是12位递减的。窗口看门狗是7位递减的

5)独立看门狗是用的内部的大约40KHZ RC振荡器,窗口看门狗是用的系统时钟APB1ENR

@https://blog.csdn.net/csshuke/article/details/83148443

 2、嘀嗒定时器

这个定时器是专用于实时操作系统,也可当成一个标准的递减计数器。它具有下功能:

● 24位的递减计数器

● 自动重加载功能

● 当计数器为0时能产生一个可屏蔽系统中断

● 可编程时钟源

模拟实现CPU多线程执行任务 

3、普通定时器和高级定时器

高级控制定时器(TIM1)

高级控制定时器(TIM1)可以被看成是分配到6个通道的三相PWM发生器,它具有带死区插入的互补 PWM输出,还可以被当成完整的通用定时器。四个独立的通道可以用于:

● 输入捕获

● 输出比较

● 产生PWM(边缘或中心对齐模式)

● 单脉冲输出 配置为16位标准定时器时,它与TIMx定时器具有相同的功能。配置为16PWM发生器时,它具有全 调制能力(0~100%)。

通用定时器(TIMx)

STM32F103xx增强型产品中,内置了多达3可同步运行的标准定时器(TIM2TIM3和TIM4)。每个

定时器都有一个16位的自动加载递加/递减计数器、一个16位的预分频器和4个独立的通道,每个通

道都可用于输入捕获、输出比较、PWM和单脉冲模式输出,在最大的封装配置中可提供最多12个输

入捕获、输出比较或PWM通道。

定时器比较: 

【STM32】定时器、看门狗_第1张图片

@杜洋工作室 

 【STM32】定时器、看门狗_第2张图片 

你可能感兴趣的:(#,STM32,STM32)