×
嵌入式 > 技术百科 > 详情

STM8L052定时器1配置30S

发布时间:2020-12-16 发布时间:
|

@[TOC]STM8L TIM1相关配置


Tim1基本介绍

TIM1由一个由可编程预分频器驱动的16位上下自动重载计数器组成。定时器可用于多种用途,包括:

•时基生成

•测量输入信号的脉冲长度(输入捕获)

•生成输出波形(输出比较,PWM和单脉冲模式)

•各种事件的中断功能(捕获,比较,溢出,中断,触发)

•捕获,比较,溢出事件的DMA请求功能

•与其他定时器或外部信号同步(外部时钟,复位,触发可校准)。

该定时器非常适用于各种控制应用,包括那些需要具有互补输出和死区时间插入的中心对齐PWM功能的应用。

定时器时钟可以来自内部时钟,也可以来自可通过配置寄存器选择的外部源。


配置

以下代码 自己配置了一个30S定时器,使用系统内部高速时钟16M,1600分频,装载值10000,重复计时30次而实现。本人使用的是STM8L052C6T6。不同STM8略微不同。


代码

void TIM1_Config(void)

{

TIM1_DeInit();

CLK_PeripheralClockConfig(CLK_Peripheral_TIM1, ENABLE);

TIM1_ClearITPendingBit(TIM1_IT_Update);


TIM1_TimeBaseInit(1599,TIM1_CounterMode_Up,10000,30);//30S

TIM1_ARRPreloadConfig(ENABLE);

TIM1_ITConfig(TIM1_IT_Update , ENABLE);

TIM1_GenerateEvent(TIM1_EventSource_Update);

while(TIM1_GetITStatus(TIM1_IT_Update) == RESET );// 清除计数器第一次无效中断

  TIM1_ClearFlag(TIM1_IT_Update);

 

TIM1_Cmd(ENABLE);              

}

 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
分拣机器人的工作原理是什么