我按照msp430f149的用户指南进行操作,想产生带死区的PWM波形,但是怎么都不能成功,只有一边能产生死区而另一边就不能产生死区,我查了149的用户指南也查了其他书籍,我的操作应该也没问题。下面是我写的程序,希望大家给看看。
#include<msp430x14x.h>
void clk_init()
{
BCSCTL1 &= ~XT2OFF; //打开XT2高频晶体振荡器
do
{
IFG1 &= ~OFIFG; //清除晶振失败标志
for (char z = 250; z > 0; z--); //等待8MHz晶体起振
}
while ((IFG1 & OFIFG)); //晶振失效标志仍然存在?
BCSCTL2 |= SELM_2 + SELS; //MCLK和SMCLK选择高频晶振
}
void PWM_init()
{
TACTL=TASSEL_2+ID_3+MC_3;
TACCTL1=OUTMOD_6;
TACCTL2=OUTMOD_2;
P1DIR|=BIT2+BIT3;
P1SEL|=BIT2+BIT3;
TACCR0=12;
}
void main()
{
WDTCTL = WDTPW + WDTHOLD;
clk_init();
PWM_init();
TACCR1=7;
TACCR2=5;
}