MSP430如何使输出的两个方波反相?好像延时不可以啊
#include <msp430x14x.h>
void delay(void);
void main(void)
{
WDTCTL=WDTPW+WDTHOLD; //关狗
int i;
BCSCTL1&=~XT2OFF; //打开XT2振荡器
do
{
IFG1 &= ~OFIFG; // 清除振荡器失效标志
for (i=256;i>0;i--); // 延时,等待XT2起振
}
while ((IFG1 & OFIFG) != 0); // 判断XT2是否起振
BCSCTL2 =SELM_2+SELS; //选择MCLK=SMCLK为XT2
P4DIR |= 0x7e; // P4.1 - P4.6 output
P4SEL |= 0x7e;
TBCTL=TBSSEL_2+MC_1;
TBCCTL1 = OUTMOD_7;
TBCCTL2 = OUTMOD_7;
TBCCR0=320; // P4.1 - P4.6 TBx op
tions
while(1)
{ // CCR1 reset/set
TBCCR1 = 224; // CCR1 PWM duty cycle
delay();
TBCCR2 = 96;
}
}
void delay(void)
{
unsigned int tmp;
for(tmp = 12000;tmp > 0;tmp--);
}
一周热门 更多>