Hello there.
I use a msp430f5438 and I try to generate a sine wave. Here is the code I want a 1 kHz sine but I got 300Hz. I do not know why. can you please tell me how to calculate the frequency of the sine.
THanks !
int counter=0;
int wave[36] = { 0,35,70,105,139,172,204,234,262,288,312,334,353,369,383,394,401,406,408,406,401,394,
383,369,353,334,312,288,262,234,204,172,139,105,70,35};
void Init_timer(){
TA0CCR0=408; //PWM 44KHz
TA0CCTL2 |=OUTMOD_7|CCIE;
TA0CCTL1 |=OUTMOD_7;//|CCIE;
TA0CCR1=wave[0];
TA0CCR2=wave[0];
TA0CTL |=TASSEL_2| ID_0 | MC_1 |TACLR|TAIE; //SMCLK =18MHz, PWM=44KHz
}
#pragma vector=TIMER0_A1_VECTOR
__interrupt void TIMER0_A1_ISR(void){
switch(TA0IV){
case TA0IV_TA0CCR1:
break;
case TA0IV_TA0CCR2:
TA0CCR2= wave[counter];
counter ++;
if ( counter == 36)
{
counter = 0;
}
break;
}
TA0CTL &=~TAIFG;
}
