STM8学习总结三:TIM1定时器使用

本文主要总结关于STM8在库函数开发时,各条语句的含义。

(1)TIM1初始化配置函数

函数主要作用:对计数器的参数,工作模式进行设定,并使能;

void Tim1_Init(void)
{
  TIM1_TimeBaseInit(16,TIM1_COUNTERMODE_UP,1000,0);
              //(定时器频率:16分频即系统频率的1/16,为1M,向上计数,定时器溢出值,重装载计数从0开始)
  TIM1_ITConfig(TIM1_IT_UPDATE , ENABLE);//中断配置与使能函数
  TIM1_ARRPreloadConfig(ENABLE);//使能数值自动重装载功能
  TIM1_Cmd(ENABLE);//开定时器
}

关于定时器溢出值的计算:定时器溢出值=预定定时时间(us)*定时器频率

(2)TIM1中断向量函数

函数主要作用:调用中断执行函数,并清除计数器标志位;

//中断向量函数
#pragma vector=0xD
__interrupt void TIM1_UPD_OVF_TRG_BRK_IRQHandler(void)
{
  Tim1_Execut();//调用中断执行函数
  TIM1_ClearITPendingBit(TIM1_IT_UPDATE);//清除更新计数器标志位
}

(3)中断执行函数

函数主要作用:按照自己的需要进行计时,并调用执行相关功能函数;

注意计数变量要声明成static类型,这关系到计数变量的生命周期;

static u16 i=0;
void Tim1_Execut(void)
{
  i++;
  if(i==1000)
  {
    i=0;
    Led_Revese();//功能函数
  }
}

(4)注意主函数中一定要开启总中断

__enable_interrupt();









  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值