苏草办 发表于 2019-7-28 11:57:28

STM8S103 使用定时器2 无法进中断

void Tim2_Init(void)
{
    TIM2_TimeBaseInit(TIM2_PRESCALER_128,255);//初始化定时器2
    TIM2_ARRPreloadConfig(ENABLE);//使能自动重装
    TIM2_ITConfig(TIM2_IT_UPDATE , ENABLE);//数据更新中断
    TIM2_Cmd(ENABLE);//开定时器
}


INTERRUPT_HANDLER(TIM2_UPD_OVF_BRK_IRQHandler, 13)
{

   if(TIM2_GetITStatus(TIM2_IT_UPDATE) != RESET) {

          printf("timer2\r\n");

   }
   TIM2_ClearITPendingBit(TIM2_IT_UPDATE);//清除更新标志位
}


使用库函数配置的   无法进中断 请问是啥回事呢

wenyangzeng 发表于 2019-7-28 13:20:58

在IAR寄存器操作中,中断向量要加2,
TIM2溢出中断的向量是:
TIM2_OVR_UIF_vector                  0x0F

苏草办 发表于 2019-7-28 21:39:20

wenyangzeng 发表于 2019-7-28 13:20
在IAR中,中断向量要加2,
TIM2溢出中断的向量是:
TIM2_OVR_UIF_vector                  0x0F ...

手册上写的是13啊 ,改为15也是不行的

wenyangzeng 发表于 2019-7-29 07:29:30

苏草办 发表于 2019-7-28 21:39
手册上写的是13啊 ,改为15也是不行的
开中断了没有?
ST官方有DEMO可以参考的:



butterflyspring 发表于 2019-7-30 15:17:03

检查一下,使能全局中断没有:)
页: [1]
查看完整版本: STM8S103 使用定时器2 无法进中断