求助:STM8S003F3P6的TIM4中断周期固定不变,不受控.

2019-07-19 20:27发布

求助:STM8S003F3P6的TIM4中断周期不受控。
TIM4的初始化代码:
void Tim4Init(void)                                                           
{
        TIM4_IER=0x00;                                                            //禁止中断
        TIM4_PSCR=0x02;                                                         //预分频值        8Mhz/8
        TIM4_CNTR=100;                                                          //计数器初始值                                 
        TIM4_ARR=100;                                                            //自动重装的值
        TIM4_EGR=0x01;                                                          //计数器重新初始化并产生寄存器更新
        TIM4_IER=0x01;                                                           //使能更新中断
        TIM4_CR1=0x01;                                                          //使能计数器   
}

中断函数:
#pragma vector=TIM4_OVR_UIF_vector                                               //0x19
__interrupt void TIM4_OVR_UIF_IRQHandler(void)                                 
{         
     TIM4_SR=0x00;
      PD_ODR^=0x20;
}

无论如何修改初始化TIM4_PSCR及TIM4_ARR的值,中断周期都不改变,大概2.4us。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。