以下程序是实验msp430单片机在8M下使P2.0口输出方波。但是烧进单片机里发现P2.0口频率很低(可以看见led在那里闪)。照理P2.0口输出频率很高才对啊
50000/8M=0.00625 秒才对啊 还有改为 BCSCTL2|=SELM_2+DIVM_3; 改后根本没有分频啊; 求高手帮我分析下为什么啊。 #include <msp430x14x.h> void main(void) { unsigned int i; WDTCTL=WDTPW+WDTHOLD; //停止看门狗 P2DIR|=0xFF; //P5.4输出 P2OUT|=0xFF; //P5.4用作MCLK输出 BCSCTL1&=~XT2OFF; //XT2有效 do { IFG1&=~OFIFG; //清除振荡器失效标志 for(i=0xFF;i>0;i--); //稳定时间 } while((IFG1&OFIFG)!=0); //如果振荡器失效标志存在 BCSCTL2|=SELM_2; //MCLK=XT2 TACTL=TASSEL_2+TACLR; CCTL0=CCIE; CCR0=50000; TACTL|=MC0; _EINT(); for(;;) { } } #pragma vector=TIMERA0_VECTOR __interrupt void Timer_A (void) { P2OUT^=0x01; }