以下程序是实验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=XT2TACTL=TASSEL_2+TACLR;CCTL0=CCIE;CCR0=50000;TACTL|=MC0;_EINT();for(;;){} } #pragma vector=TIMERA0_VECTOR __interrupt void Timer_A (void) {P2OUT^=0x01; }
Jane Yang:
参考 www.deyisupport.com/…/8225.aspx