STM8普通定时器中断使用寄存器版本

本文章只讲如何使用STM8的普通定时器,原理以及其他知识点可以网上查阅相关的资料。废话不多说,直奔主题。

第一步:了解TIM4的时钟来源

在这里插入图片描述
查阅书册可以知道TIM4的时钟来源系统的主时钟

第二步:初始化相关寄存器:

从ST官方手册可以知道,TIM4有7个寄存器。

TIM4_CR1控制寄存器
TIM4_IER中断使能寄存器
TIM4_SR状态寄存器
TIM4_EGR事件产生寄存器
TIM4_CNTR计数器
TIM4_PSCR预分频寄存器
TIM4_ARR自动重装载寄存器
void Tim4_Init(void)//T=1/2M/128/250 
{
  TIM4_PSCR = 0x07;//预分频 PSC[2:0]=1:128
  TIM4_ARR = 250;//自动重装载值
  //TIM4_EGR = 0x01;//更新事件产生(可人为产生更新事件)
  TIM4_IER = 0x01;//更新中断使能
  TIM4_CNTR = 0;//计数器初值
  TIM4_CR1 = 0x01;//[0]CEN定时器使能
}

第三步:编写中断函数

#pragma vector=TIM4_OVR_UIF_vector //定义中断服务函数入口地址
__interrupt void TIM4_OVR_UIF__IRQHandler(void)//16ms
{
   TIM4_SR=0x00; //清除中断标志
   i++;
   if(i>=62)         
   { //翻转 LED 接口的输出状态
    PE_ODR_ODR5^=1;
    i=0;
   }
}

第四步:开全局中断

 asm("rim");

到此,简简单单的四部就对STM8的定时器4就完成了配置,当然在中断函数中使用了PE5这个IO,实际使用还需要进行相应的IO配置。
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值