在线情况
楼主
  • 头像
  • 级别
    • 积分11
    • 经验332
    • 文章8
    • 注册2011-07-28
    这个捕获中断函数为什么 中断进不去呢
    [P]#include<msp430x14x.h>
    #define uint unsigned int
    #define uchar unsigned char
    uint new_cap=0;
    uint old_cap=0;
    uint cap_diff=0;
    uint diff_array[16];
    uint capture_array[16];
    uchar index=0;
    uchar count=0;
    void main()
    {
     
      volatile uint i;
     
      WDTCTL=WDTPW+WDTHOLD;
      BCSCTL1|=DIVA_3;
      P1DIR &=~BIT1;//捕获CCI0A输入
      P1SEL |=BIT1;
      P2DIR|=BIT0;//ACLK输出
      P2SEL|=BIT0;
      P5DIR|=BIT4;
      P5OUT|=BIT4;高电平 灯灭 5.4 口
     
     [/P][P]   TACTL|=TASSEL_2+MC_2;  
       
      CCTL0|=CM_1+SCS+CCIS_0+CAP;//上升沿捕获
     
       CCTL0 |=CCIE;
      _BIS_SR(LPM0_bits+GIE);
      [/P][P]}
    #pragma vector=TIMERA0_VECTOR
    __interrupt void TimerA0()
    {
      new_cap=TACCR0;
      cap_diff=new_cap-old_cap;
      diff_array[index]=cap_diff;
      capture_array[index++]=new_cap;
      if(index==16)
      {
        index=0;
        P5OUT^=BIT4;
      }
      old_cap=new_cap;
      count++;
      if(count==32)
      {
        count=0;
        _NOP();
      }
     
    }[/P]
    微控网感谢您的参与
    在线情况
    2
    • 头像
    • 级别
    • 门派
    • 职务总版主
    • 声望+9
    • 财富5
    • 积分3065
    • 经验390701
    • 文章6744
    • 注册2006-03-07
    [P]这种寻求帮助的方法不可取,为什么呢。你现在是将自己找不到的原因直接将代码粘出来,就提个“为什么呢?”等着别人让你找问题这是不太可能有结果的,这种思想也不正确的。这种提问我强调过多次了...

    对于你这个问题,我本人想给你一些思路,首先你可保证你所使用的定时器模块一些基本设置要证确,比如中断开放允许、时钟源、时钟频率的正确性。第一步要证明的最简单方法是让定时器跑一下。然后再将程序改回做触发捕获。[/P][P]捕获方面主要是寄存器的设置和外部IO的触发是否有效到位...。[/P][P]记住不要期待别人为你找原因,你只能以问路,别人为你提供思路指示而已。[/P]
    [COLOR=#0000ff]欢迎发贴分享设计心得、开源DIY...[/COLOR]
    在线情况
    3
    • 头像
    • 级别
      • 积分11
      • 经验332
      • 文章8
      • 注册2011-07-28
      [P]恩谢谢了 现在已经发现是 /*  CCTL0|=CM_1+SCS+CCIS_0+CAP;*/ 这句话有问题 屏蔽这句话 就能进入中段了 具体原因 我再看看 谢谢 DC 老师 [/P]
      微控网感谢您的参与
      在线情况
      4
      • 头像
      • 级别
        • 积分11
        • 经验332
        • 文章8
        • 注册2011-07-28
        全部懂了 程序没问题 是开始没把时钟源 给如端口 然后给人端口后 由于频率设置太快 肉眼看不出变化 就在程序中设置中段 一步一步运行 最后和理想的结果一样  再有不懂的 还是要向DC老师 多多请教 才开始入门 什么都不懂 ...
        微控网感谢您的参与
        Powered by LeadBBS 9.2 .
        Page created in 0.1719 seconds with 5 queries.