điều chế xung pwm

phan dinh khanh

Trứng gà
anh chị cho em hỏi cách điều chế xung pwm , không biết em sai chỗ nào nữa em sử dụng chế độ outmod 7 và thay đổi xung ra bằng cách thay đổi TA0CCR1 trong chương trình ngắt nhưng mak code của em không chạy , em cám ơn !
#include<msp430g2553.h>
void timera0_init();
void port_init();
double I = 3000;
void timera0_init()
{
TA0CTL = TASSEL_2 + MC_1;// SMCLK 1MHZ
TA0CCTL1 = CCIE + OUTMOD_7 ;//+ OUT;
TACCR0 =65535 ;
TA0CCR1 = I;
}
void port_init()
{
P1DIR |= BIT2;
P1OUT |= BIT0 + BIT6;
P1SEL |= BIT2;
//P1SEL2 &= ~BIT2;
}
#pragma vector=TIMER0_A1_VECTOR
__interrupt void interrupt_init(void)
{
switch(TAIV){
case 0x02:{

I += 1000;
if(I>=65535)
I = 3000;
break;
}
case 0x04:{
}
case 0x0a:{
}
}
}
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
port_init();
timera0_init();
_BIS_SR(LPM0_bits + GIE);

}
 
Top