电工技术基础_电工基础知识_电工之家-电工学习网

欢迎来到电工学习网!

stm32通用守时器准确延不时刻的核算

2017-10-01 14:43分类:电子技术 阅读:

 

STM32中的守时器有多种,按功用分红2个高档操控器守时器,4个一般守时器,2个底子守时器,2个看门狗守时器,1单个系滴答守时器SysTICk。

守时器的要害是守不时刻的核算。比方用守时器操控继电器的开关的时分,需求延时一段时刻才封闭或许翻开,这时别离不开守时器守时。

通用守时器守不时刻核算。1秒接连的底子结束:
通用守时器模块的进口时钟通过火频得到计数器的时钟,用CK_CNT标明,预分频器的系数为:TIMx_PSC,当TIMx_PSC=0时,标明不分频,=1时,2分频。以此类比。

公式为:CK_CNT=fclk_PSC/(PSC[15:0]+1),其间PSC最大为65535.

其次是TIM5计数器的计数值的设置,TIM5计数器以CK_CNT为时钟来计数。计数到设定值发作接连。

(1/分频后计数时钟)*计数值=设守时刻。以1秒为例

(1/(72MHz/7200))*10000=1s

初始化通用守时器的一个首要的构造体TIM_TimeBaseInitTypeDef

typedef struct
{
u16 TIM_Period; //主动装载的计数值,
u16 TIM_Prescaler; //分频值,当为0时标明不分频所以要减1.
u8 TIM_CLOCkDivision;//设置时钟切开,
u16 TIM_CounterMode; //向上,向劣等计数办法
} TIM_TimeBaseInitTypeDef;

初始化构造体后调用函数

void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef * TIM_TimeBaseInitStruct) 初始化TIMx守时器时刻基数单位。

其次还要根除接连待处理位,函数void TIM_ClearITPendingBit(TIM_TypeDef* TIMx, u16 TIM_IT) 做了这项作业。其间TIM_IT:待查看的 TIM 接连待处理位 。

上一篇:滤波器技能参数及精确运用

下一篇:串模搅扰和共模搅扰的处理方法

相关推荐

电工推荐

    电工技术基础_电工基础知识_电工之家-电工学习网
返回顶部