MSP430G2553 定时器捕捉的问题(高手请进)

2019-07-24 15:05发布

我想测的   :  一个频率变化的输入信号   起初为30k   然后 5k(只持续一次)   然后30k
            
再输入重新测 30k    5k   30k   。问题就出在多次输入,我想给计数器清零的时候,怎么也清不掉。
部分代码:
信号输入端开启定时捕捉中断 TA1CCTL2  |=CCIE ;

配置P2。3为捕捉模式
P2SEL |= 0x10;    //选择P2。3作为捕捉的输入端子    Timer1_A    //
TA1CCTL2  |=CM_2+SCS+CAP+CCIS_0  ;  //上升沿触发捕捉,同步模式、时能中断  CCI1A   
TA1CTL |= TASSEL1+MC_2;  //选择SMCLK时钟作为计数时钟源,不分频   增计数模式不行,必须连续计数模式

中断服务程序

  case 4:    选择中断源
    {
  
       我想在这里当我测试完 30k    5k   30k   。数据后

给计数器清零,然后下一次再进入中断,再测试到 30k    5k   30k   。

其中5k是变化的量,我要测试这个脉宽。可是每次计数器都不受我控制



DEFW(   TA1CTL            , TA1CTL_)
#define TA1CCTL0_           (0x0182u)  /* Timer1_A3 Capture/Compare Control 0 */
DEFW(   TA1CCTL0          , TA1CCTL0_)
#define TA1CCTL1_           (0x0184u)  /* Timer1_A3 Capture/Compare Control 1 */
DEFW(   TA1CCTL1          , TA1CCTL1_)
#define TA1CCTL2_           (0x0186u)  /* Timer1_A3 Capture/Compare Control 2 */
DEFW(   TA1CCTL2          , TA1CCTL2_)
#define TA1R_               (0x0190u)  /* Timer1_A3 */

这几个都我把TACLR位置位过,都不能对  time7[flag]=TA1CCR2 ;
time这个清零,TA1R,计数器一直从0到ffff    而且还有很大的负数出现,越来越晕

stm32  stm8用着库很方便到430这里,好费劲:Q
      
   
   
      }
      CCTL2 &= ~CCIFG;//清除中断标志
        
    }
     
  
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。