stm8s103中断定时不起作用

2019-03-23 17:32发布

void TIM1_Init(void)
{
  TIM1_IER=0X00;
  TIM1_EGR=0X00;
  TIM1_PSCRH=0X3E;//15999分频,记数周期为1ms
  TIM1_PSCRL=0X7F;
  TIM1_ARRH=0X01;//自动重载寄存器为500,每计数500次产生一次中断
  TIM1_ARRL=0XF4;
  TIM1_CNTRH=0X00;
  TIM1_CNTRL=0X00;
  TIM1_CR1=0X81;
  TIM1_IER=0X01;
}
#pragma vector=TIM1_OVR_UIF_vector
__interrupt void TIM1_OVR_UIF(void)
{
  i++;
  TIM1_SR1=0X00;
  if(i==10)
  {PWMOFF();}
}
编译环境为IAR,目的是10s后pwm输出关闭,硬件测试进不去中断
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
19条回答
huaiqiao
2019-03-25 23:56
sang523 发表于 2016-10-21 08:04
我用的delay延时啊,为什么改变寄存器的值呢

你用定时器的方式的话,当然要写arr和预分频。如果你要变化定时器的时间,那么就是arr和预分频的值啊。
你用delay为啥还要用定时器。。。。。。
何况,中断里面一般不要用延时 ,,,,,,
你还是多研究下定时器吧,我感觉你都没有明白我说的呢。

一周热门 更多>