STM8定时器3输入捕获脉宽,开启了溢出中断和捕获中断,但是两个中断向量不同,要写两个中断服务函数吗?请求原子哥

2019-07-19 21:26发布

STM8定时器3输入捕获脉宽,开启了溢出中断和捕获中断,但是两个中断向量不同,要写两个中断服务函数吗?

/*******************************************************************************************************
-----TIM3输入捕获
********************************************************************************************************/
void TIM3_capture_Init(u8 psc,u16 arr)
{
  //开TIM3时钟
  CLK_PCKENR1 |= SETBIT6;
  //允许产生更新事件
  TIM3_EGR = 0x01;
  //2M时钟 设定计数时钟的分频,计数周期为1us
  TIM3_PSCR = psc & 0x0F;
  //初始化计数器值,设定自动重载寄存器值
  TIM3_ARRH = arr/256;
  TIM3_ARRL = arr%256;   TIM3_CCER1 &= 0xFE;//清零TIM1_CCER1中的CC1E位,之后才可配置TIM1_CCMR1
  TIM3_CCMR1 = 0x01;//配置TIM1_CCMR1中的CC1S位为1,CC1通道配置为输入,IC1映射到TI1FP1上
      //无滤波器、无预分频器(捕获输入口上检测到的每一个边沿都触发一次捕获)
  TIM3_CCER1 |= 0x00;
  TIM3_CNTRH = 0x00;//清零计数器高8位
  TIM3_CNTRL = 0x00;//清零计数器低8位  
  TIM3_IER |= 0x03;//CC1IE=1,使能捕获/比较1中断,更新中断
  TIM3_CCER1 |= 0x01;//捕获使能
  TIM3_CR1 |= 0x01;//使能定时/计数器,向上计数
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
dxxdxpdxy
1楼-- · 2019-07-20 00:24
这个要分开写2个,不过奇怪楼主为什么不用库函数呢,又方便又容易维护,官方库里有个stm8s_it.c文件里面都给你定义好了,还自己去定义多累啊。。。
woshiludinghua
2楼-- · 2019-07-20 02:30
 精彩回答 2  元偷偷看……

一周热门 更多>