在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            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://www.biyoush.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;//直接將看門狗定時(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)閉