Hi everyone, I have the following code where I am trying to set a pin to 1 or 0 depending on the value in an array. What am I doing wrong and how do you suggest I change my code? Thank you!!
#include <msp430x16x.h>
#include "stdint.h"
#include "intrinsics.h"
volatile int i=0;
int transmit_reg;
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
BCSCTL1 |= XTS; // ACLK = LFXT1 = HF XTAL
P1DIR |= 0x16; // P1.4 output
TACCTL0 = CCIE; // CCR0 interrupt enabled
TACCR0 = 976;
TACTL = TASSEL_2 + MC_2; // SMCLK, contmode
_BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt
while(1)
{}
}
// Timer A0 interrupt service routine
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
int transmit[10] = {1,0,0,0,0,1,1,1,1,1};
transmit_reg = transmit[i];
if (transmit_reg == 1)
{P1OUT |= 0x16; // Set P1.4 High
TACCR0 += 976; // Add Offset to CCR0
i++;}
else
{P1OUT &= ~0x16;
TACCR0 += 976;
i++;}
if(i > 9)
{
i=0;
}
}