TI中文支持网
TI专业的中文技术问题搜集分享网站

MSP430F149的XT2時鐘無法作用於MCLK時鐘源

問題: 為什麼XT2時鐘無法作用於MCLK時鐘源

void main(void)
{
  WDTCTL = WDTPW +WDTHOLD;                  
  DCOCTL = DCO0 + DCO2;                          
  BCSCTL1 = RSEL0 + RSEL2;                       
  BCSCTL2 |= SELM_2 ;                                                                    
  P5DIR |= BIT4+BIT5+BIT6;                             
  P5SEL |= BIT4+BIT5+BIT6;                           
  while(1);
}

1. 我按附件方式測試由I/O輸出 ACLK , SMCLK , MCLK三種頻率

2. ACLK , SMCLK , MCLK三種頻率來源
    ACLK:    時鐘來源為XT1 =32.768K
    SMCLK: 時鐘來源為DCO=1.5M
    MCLK:   時鐘來源為XT2  =4.19M

3. 測試程式如上,但我用示波器測量MCLK卻與SMCLK頻率一樣為1.5M,我有檢查寄存器XT2OFF=0,表示XT2有開啟.

4. 另外我有測試將BCSCTL2改為下面這段,SMCLK時鐘來源改為XT2,用示波器測量結果約為4.19M,所以表示XT2是起振有效的,那XT2為什麼無法作用於MCLK時鐘源
   BCSCTL2 |= SELS +SELM_2 ;  

以上請大家看一下 ,幫忙看一下這是為什麼? 謝謝

 

灰小子:

不要忘了:  BCSCTL1 &= ~XT2OFF;                       // XT2= HF XTAL

xyz549040622:

1.你是否开启了省电模式呢

2.你供电电压是多少,这个和供电电压也是有关系的

Van1:

回复 灰小子:

您好:

void main(void){  WDTCTL = WDTPW +WDTHOLD;                    DCOCTL = DCO0 + DCO2;                            BCSCTL1 = RSEL0 + RSEL2;                         BCSCTL2 |= SELM_2 ;                                                                      P5DIR |= BIT4+BIT5+BIT6;                               P5SEL |= BIT4+BIT5+BIT6;                             while(1);}

我測試上述程式 , 我這段程式 BCSCTL1 = RSEL0 + RSEL2;  , 將RSEL0 + RSEL2的值設定給BCSCTL1 , 其XT2OFF給值為" 0 " ,   我有檢查IAR 寄存器狀態XT2OFF位確實為" 0 "(請看一下附件), 另外BCSCTL2 |= SELM_2 ; 這段程式將MCLK時鐘源設為XT2 .

請您看一下我是不是有什麼設定是錯的 , 或是我忽略了什麼呢?再麻煩您看一下 ,謝謝

Van1:

回复 xyz549040622:

您好:

我沒有進入省電模式 , 我供電電壓為3.0V , 請您看一下是不是我有那裡沒注意到?謝謝

赞(0)
未经允许不得转载:TI中文支持网 » MSP430F149的XT2時鐘無法作用於MCLK時鐘源
分享到: 更多 (0)