色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > MSP430主系統(tǒng)時(shí)鐘以及430的低功耗設(shè)置

          MSP430主系統(tǒng)時(shí)鐘以及430的低功耗設(shè)置

          作者: 時(shí)間:2017-01-12 來(lái)源:網(wǎng)絡(luò) 收藏

            如何將系統(tǒng)時(shí)鐘設(shè)置到外部高頻晶體振蕩器,430的MCLK默認(rèn)的是DCO的,如何安全的從DCO切換到外部晶體振蕩器,這是一個(gè)很重要的步驟,因?yàn)榻?jīng)過(guò)此步驟,可以極大地提高430的處理能力,DCO在內(nèi)部,可以為cpu提供強(qiáng)勁穩(wěn)定的時(shí)鐘

          本文引用地址:http://cafeforensic.com/article/201701/342830.htm

            #include

            void main( void )

            {

            // Stop watchdog timer to prevent time out reset

            WDTCTL = WDTPW + WDTHOLD;

            volatile unsigned int i;

            P5DIR |=BIT4;//設(shè)置P5.4為輸出

            P5SEL |=BIT4;//設(shè)置片內(nèi)主系統(tǒng)時(shí)鐘的輸出

            //由這段代碼設(shè)置如何將DCO切換到高頻晶體振蕩器

            BCSCTL1 &=~XT2OFF;//~0x80

            do

            {

            IFG1 &=~OFIFG;//OFIFG為1表示外部晶體振蕩器失效

            for(i = 0xff;i>0;i--);//IFG1是Interrupt Flag 1

            }

            while((IFG1 & OFIFG));//表示振蕩器已經(jīng)起振

            BCSCTL2 |= SELM_2;//#define SELM_2 (0x80) /* MCLK Source Select 2: XT2CLK/LFXTCLK */

            while(1);

            }

            模式的設(shè)置:

            msp430內(nèi)部有4種模式,在進(jìn)入模式的時(shí)候,cpu停止,一般是由外部事件的響應(yīng)才能喚醒cpu

              

           

            由于IAR軟件比較給力,所以進(jìn)入低功耗模式的常用格式

            比如:

            進(jìn)入低功耗模式2:LPM2;

            退出低功耗模式2:LPM2_EXIT;

            開(kāi)啟外部中斷:_EINT():

            關(guān)閉外部中斷:_DINIT();

            430外部中斷的模式

            #include

            main( void )

            {

            BCSCTL1 "=DIVA_2;//(0x20) /* ACLK Divider 2: /4 */

            WDTCTL = WDT_ADLY_1000;//直接將看門(mén)狗定時(shí)器變成定時(shí)器,定時(shí)時(shí)間是1000毫秒

            IE1 =WDTIE;//打開(kāi)定時(shí)器中斷

            P2DIR |= BIT3;

            while(1)

            {

            unsigned int i;

            _BIS_SR(LPM3_bits +GIE);//進(jìn)入低功耗模式3,這種時(shí)候,cpu停止工作,同時(shí)打開(kāi)總的中斷 //_BIS_SR是一個(gè)本增函數(shù),

            //_BIS_SR()是一個(gè)本增函數(shù),通過(guò)本函數(shù)可以對(duì)寄存器進(jìn)行直接的操作

            //這句話等價(jià)于_EINT();

            // LPM3;

            P2OUT &=~BIT3;//相當(dāng)于把第五位輸出0

            for(i = 180000;i>0;i--);//延時(shí)

            P2OUT |= BIT3;//p3.5輸出1

            }

            }

            #pragma vector =WDT_VECTOR

            __interrupt void watchdag_timer(void)

            {

            //__BIC_SR_IRQ(LPM3_bits);//從中斷中,將低功耗模式退出,將cpu從睡眠模式喚醒

            LPM3_EXIT;//退出低功耗模式

            }



          關(guān)鍵詞: MSP430 低功耗

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉