新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > MSP430主系統時鐘以及430的低功耗設置

        MSP430主系統時鐘以及430的低功耗設置

        作者: 時間:2017-01-10 來源:網絡 收藏

          如何將系統時鐘設置到外部高頻晶體振蕩器,430的MCLK默認的是DCO的,如何安全的從DCO切換到外部晶體振蕩器,這是一個很重要的步驟,因為經過此步驟,可以極大地提高430的處理能力,DCO在內部,可以為cpu提供強勁穩定的時鐘

        本文引用地址:http://www.104case.com/article/201701/342705.htm

          #include

          void main( void )

          {

          // Stop watchdog timer to prevent time out reset

          WDTCTL = WDTPW + WDTHOLD;

          volatile unsigned int i;

          P5DIR |=BIT4;//設置P5.4為輸出

          P5SEL |=BIT4;//設置片內主系統時鐘的輸出

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

          BCSCTL1 &=~XT2OFF;//~0x80

          do

          {

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

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

          }

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

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

          while(1);

          }

          模式的設置:

          msp430內部有4種模式,在進入模式的時候,cpu停止,一般是由外部事件的響應才能喚醒cpu

            

         

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

          比如:

          進入低功耗模式2:LPM2;

          退出低功耗模式2:LPM2_EXIT;

          開啟外部中斷:_EINT():

          關閉外部中斷:_DINIT();

          430外部中斷的模式

          #include

          main( void )

          {

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

          WDTCTL = WDT_ADLY_1000;//直接將看門狗定時器變成定時器,定時時間是1000毫秒

          IE1 =WDTIE;//打開定時器中斷

          P2DIR |= BIT3;

          while(1)

          {

          unsigned int i;

          _BIS_SR(LPM3_bits +GIE);//進入低功耗模式3,這種時候,cpu停止工作,同時打開總的中斷 //_BIS_SR是一個本增函數,

          //_BIS_SR()是一個本增函數,通過本函數可以對寄存器進行直接的操作

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

          // LPM3;

          P2OUT &=~BIT3;//相當于把第五位輸出0

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

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

          }

          }

          #pragma vector =WDT_VECTOR

          __interrupt void watchdag_timer(void)

          {

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

          LPM3_EXIT;//退出低功耗模式

          }



        關鍵詞: MSP430 低功耗

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 常熟市| 平远县| 闸北区| 花莲市| 同德县| 云霄县| 怀集县| 新民市| 柳江县| 莫力| 阿拉善盟| 兰考县| 深圳市| 古丈县| 广宁县| 金溪县| 奉化市| 台州市| 凌源市| 通化县| 金平| 施甸县| 高陵县| 株洲市| 东阳市| 康乐县| 丰顺县| 澎湖县| 英山县| 三都| 东平县| 安多县| 沛县| 西华县| 卓尼县| 阳高县| 东海县| 新乡市| 三门峡市| 淮滨县| 平昌县|