打印
[STM32F1]

怎样关闭比较中断

[复制链接]
1305|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
clz918|  楼主 | 2014-1-20 09:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我现在希望可以产生定时中断,但要关闭比较时产生的中断。从手册上看只要修改DIER就行了,但是无论怎样操作,还是进入中断。
   void start_timer3(unsigned long data_period,unsigned long data_low)
          {
         unsigned long data1=0,data2=0,data3=0;
         RCC->APB1ENR|=1<<1;//TIM3 clock enable
               TIM3->CR1&=0xfffe;
             TIM3->DIER=0x0001;
               TIM3->CCMR1 = 0x7400;
            TIM3->CCER  = 0x0010;  //T3 CH2
         MY_NVIC_Init(3,0,TIM3_IRQn ,4);  
               data1=(data_period>>16) &0x0000ffff;
            TIM3->PSC=data1;
               data2=data_period/(data1+1);
               data3=data_low/(data1+1);
            TIM3->ARR=data2;  //periode  
            TIM3->CCR2=data2-data3;
               TIM3->CR1|=0x01;
          }
void TIM3_IRQHandler(void)
{
      
       OSIntEnter();  
  if ((TIM3->SR & 0x0001) != 0) //0.91ms定时器
  {// check interrupt source
    Y2++;
    TIM3->SR &= ~(1<<0);                          // clear UIF flag
  }
  if ((TIM3->SR & (1<<2)) != 0) {TIM3->SR &= ~(1<<2);Y3++;}
    OSIntExit();
}
我是从测Y2,Y3的波形来观察的,大家有什么方法让他只进入定时中断但不进入比较中断吗???
沙发
airwill| | 2014-1-20 10:48 | 只看该作者
只允许溢出中断, 是肯定可以的.
是不是应该关注一下 TIM3->CR1 的具体的值?

使用特权

评论回复
板凳
clz918|  楼主 | 2014-1-20 12:55 | 只看该作者
airwill 发表于 2014-1-20 10:48
只允许溢出中断, 是肯定可以的.
是不是应该关注一下 TIM3->CR1 的具体的值?

TIM3->CR1中和比较中断相关的位好像没有。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

111

主题

336

帖子

3

粉丝