Re: error #20: identifier "TA0CCTL0_bit" is undefined....help on code composer
| Newsgroups | gmane.comp.hardware.texas-instruments.msp430.discuss |
|---|---|
| Message-ID | <[email protected]> |
I am using the msp430g2553....
I have enclosed the complete program below.....I believe the original software used iar to compile using "io430.h" header which I cannot use in code composer. I am new at this and am struggling with final project for a class. I have two marked lines with errors with ****** after //....
Thanks Ted
#include <msp430g2553.h>
#include <msp430.h>
#include <intrinsics.h>
#include <stdint.h>
//#include <io430.h> //.......??????why?
#define NUMBER_OF_DIGITS 2
#define TACCTL0_ TA0CCTL0_ /* Timer A Capture/Compare Control 0 */
#define TACCTL1_ TA0CCTL1_ /* Timer A Capture/Compare Control 1 */
#define DELAY 1000
#define TIMER_DELAY 630
#define CCIE (0x0010) /* Capture/compare interrupt enable */
char seg[16];
char d[5];
char digit;
short v;
// simple software delay
void delay(unsigned long d)
{
unsigned long i;
for (i = 0; i < d; i++);
}
void display_hex(unsigned short v)
{ // enter with 16-bit integer v
// fill global array d[ ]
short i;
for (i = 0; i < 4; i++)
{
d[i] = v % 16;
v = v/16;
}
}
void display_BCD(unsigned short v)
{// enter with 16-bit integer v
// fill global array d[ ]
short i;
for (i = 0; i < 5; i++)
{
d[i] = v % 10;
v = v/10;
}
}
#pragma vector = TIMER0_A0_VECTOR
__interrupt void myTimerISR(void)
{
digit = ++digit % NUMBER_OF_DIGITS; //use MOD operator
P1OUT = ~seg[d[digit]];
P2OUT = 1 << digit;
}
void init(void)
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
// initialize Timer0_A
TA0CCR0 = TIMER_DELAY; // set up terminal count
TA0CTL = TASSEL_2 + ID_3 + MC_1; // configure and start timer
// enable interrupts
TA0CCTL0_bit.CCIE = 1; // enable timer interrupts********
__enable_interrupt(); // set GIE in SR**********
P1DIR = 0xFF; // enable segment outputs
P2DIR = 0x0F; // enable digit select
// create 7-segment table
seg[0] = 0x3F;
seg[1] = 0x06;
seg[2] = 0x5B;
seg[3] = 0x4F;
seg[4] = 0x66;
seg[5] = 0x6D;
seg[6] = 0x7D;
seg[7] = 0x07;
seg[8] = 0x7F;
seg[9] = 0x67;
seg[10] = 0x77;
seg[11] = 0x7C;
seg[12] = 0x39;
seg[13] = 0x5E;
seg[14] = 0x79;
seg[15] = 0x71;
digit = 0;
}
void initADC(void)
{
// initialize 10-bit ADC
ADC10CTL1 = INCH_7 + CONSEQ_2; // use P1.7 (channel 7)
ADC10CTL0 |= ADC10SHT_3 + ADC10ON + MSC;
ADC10AE0 |= BIT7; // enable analog input on channel 7
ADC10CTL0 |= ADC10SC + ENC; // start conversions
}
void main( void )
{
init();
initADC();
while (1)
{
v = ADC10MEM;
display_BCD(v);
delay(DELAY);
}
}