Hello,
I am working on msp430f6736.
I am trying to capture signal on P1.1 pin. I m generating 1KHz signal on P2.7 and i m giving same signal on P1.1 for capturing.
But Value in TA0CCR1 remains 0 always.It goes into ISR whenever input is given on P1.1 but TA0CCR1 remains unchanged.
please review it.
thank you.
Following is the code:
#include "msp430.h"
#include "gpio.h"
static int buffer[20];
static int i;
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
GPIO_setAsPeripheralModuleFunctionOutputPin (GPIO_PORT_P2,GPIO_PIN7);
P5DIR |= BIT0;
P5OUT &= ~BIT0;
TA1CCTL0 = CCIE;
TA1CCR0 =32-1;
TA1CCR1 =16 ;
TA1CCTL1 = OUTMOD_7;
TA1CTL = TASSEL_1 + MC_1 + TACLR;
GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_P1,GPIO_PIN1);
TA0CCTL1= CM_1 + CCIS_0 + CAP + SCS + SCCI + CCIE;
TA0CCTL1 &=~COV;
TA0CTL = TASSEL_1 + MC_1 + TACLR;
__bis_SR_register(LPM0_bits | GIE);
}
#pragma vector=TIMER0_A1_VECTOR
__interrupt void TIMER0_A1_ISR(void)
{
switch(__even_in_range(TA0IV,6))
{
case 0: break; // No interrupts
case 4: break; // TA0CCR2
case 2: // TA0CCR1
{
buffer[i++] = TA0CCR1;
if (i>10)
break;
}
case 6: break; // TA0CCR3
default: break;
}
}