TI中文支持网
TI专业的中文技术问题搜集分享网站

关于TA的端口捕获方面的问题

用的是430的fe427芯片,现在碰到的问题是我进入了捕获中断,用到的是TACCR0,但是CCR0里面却没有捕获的数据,即我每次在线调试的时候,我能进入捕获中断,但是CCR0里面的值却一直为0,求指点。下附相关的程序: 这个是寄存器的设置。

 void Init_TimerA1_BH(void)//定时器A捕获的初始化

 {   TACTL   = TASSEL_1 + MC_1 + ID_2;                   // Continous up  ACLK/4, 为了测100mHZ   

TACCTL0 = CM_1 + CCIS_0 + SCS + CAP + CCIE;         // Capture mode: 1 – pos. edge, 3 – both edge; PSLIN0 输入     

 P1SEL  |= BIT0 ; }
这个是我的TA捕获中断和程序。

 #pragma vector = TIMERA0_VECTOR         //端口中断,TA0  P1.0  zzg

__interrupt void Timer_A (void)

{   temp=10;   new_cap = TACCR0;             //将中断时TACCR0 值装入new_ cap     

cap_diff = new_cap –  old_cap;          // 差异值=新值-旧值   

diff_array[index] = cap_diff;                 // 向差异数组写入差异值   

capture_array[index++] = new_cap;        // 向捕获数组写入捕获值  

 if (index >= 32)                // 数组是否已满?(1 – 32)   

{       index = 0;                // 清索引变量   }     

old_cap = new_cap;                            //存储捕获新值

 //  count ++; }

kqian0327:

你好,

你可以参考一下TI的参考代码来解决以上问题。

赞(0)
未经允许不得转载:TI中文支持网 » 关于TA的端口捕获方面的问题
分享到: 更多 (0)