TA0CTL = MC__STOP;
TA0CCTL0 &= ~(CCIE | COV | CCIFG);
TA0CCTL0 = CM_2/*下降沿捕获*/ | SCS | CAP | CCIE;
TA0CTL = TASSEL__SMCLK | ID__4 | MC__UP | TACLR;
然后,进入中段
#pragma vector = TIMER0_A0_VECTOR
__interrupt void INT_TA0_CCIFG0(void)
{
//得到TA0CCR0的值,但老是0,不管什么时候来下降沿,都是0
P1OUT ^= BIT6;
P1.6上能量到电平变化
芯片是:MSP430F5310
Lina Lian:
stone luo,
你可以参考一下MSP430G2xx3的下列例程,如附件所示,看看程序那里设置有问题。
msp430g2xx3_ta_21.c Timer_A, Normal Timer Mode Input Period and Duty Cycle Measurement
BR,
Lina
stone luo:
回复 Lina Lian:
我碰到问题的芯片型号是MSP430F53系列的,不知是否能通用,我先看下,先谢过了
Lina Lian:
回复 stone luo:
stone luo,
因为在MSP430F53的例程下没有对应的Timer_A用作Capture mode对应的例程,我就找了一个有的,关键是看看例程中设置了什么关键寄存器,管脚,你先看看能不能用,可能需要些微修改。
BR,
Lina
stone luo:
回复 Lina Lian:
OK,Thanks!