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;//使能定时/计数器,向上计数
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>