问: MSP430F2370频率总是 问者: 1939256

请问在MSP430F的MCU在采用片内振荡器或外部有源晶振时,能否在XOUT脚上测到波形?

另外在将XOUT管脚用作IO口时(P2SEL &= ~BIT7),为什会引起外部时钟失效?(OFIFG 始终为1,清不了0)


问: 回复: MSP430F2370频率总是 问者: 1818726

您好,

在User's Guide 277页中有这么一句“LFXT1 may be used with an external clock signal on the XIN pin in either LF or HF mode when LFXT1Sx = 11, OSCOFF = 0 and XCAPx = 00,”

也就是说如果使用外部时钟信号,寄存器的相应位做如下设置:XTS = 0,LFXT1Sx = 11, OSCOFF = 0 ,XCAPx = 00

POWER_PIN也应当设置。


问: 回复: MSP430F2370频率总是 问者: 1095532

寄存器配置上需要做些修改.

有源晶振和晶体(crystal)在寄存器的设置上是不一样的.

使用有源晶振的时候,需要把XT1关掉.否则OFIFG会置位

"BCSCTL3 |= LFXT1S1; " 应该改为    BCSCTL3 |= LFXT1S_3"

还要加一句话 " __bis_SR_register(OSCOFF);"

试试看


问: 回复: MSP430F2370频率总是 问者: 1939256

我试了,不论把POWER_PIN 和POWER_ON 加到do while循环前面或是后面,如果没有P2SEL &= ~BIT7 这句, P2,7(XOUT)脚都没有输出. 如果加上,则无论在什么地址, OFIFG则始终置1,软件无法清除的.

程序如下:

#define POWER_PIN  P2SEL &= ~BIT7;P2DIR |= BIT7;

#define POWER_ON   P2OUT |= BIT7;

#define POWER_OFF  P2OUT &= ~BIT7;

#define ENABLE_SET  P1DIR |= BIT0  // P1.0 ist switched in output direction

#define TRF_ENABLE  P1OUT |= BIT0  // EN pin on the TRF796x

#define TRF_DISABLE  P1OUT &= ~BIT0

viod main(viod)

{

unsigned char ii1 = 0;

WDTCTL = WDTPW + WDTHOLD;

POWER_PIN;                   //如果加上这句,则程序一直在DO循环里出不来,取消这句则一切正常。

POWER_ON;

ENABLE_SET;

TRF_ENABLE;

    BCSCTL1 |= XTS + XT2OFF;               // ACLK = LFXT1 HF XTAL

       BCSCTL3 |= LFXT1S1;                                        // turn external oscillator on

     while ((IFG1 & OFIFG) == OFIFG)

        IFG1 &= ~OFIFG;

    do

    {

       IFG1 &= ~OFIFG;                     // Clear OSCFault flag

       for (ii1 = 0xFF; ii1 > 0; ii1--)   // Time delay for flag to set

       {

       }

    } while ((IFG1 & OFIFG) == OFIFG);      // OSCFault flag still set?  如果XOUT用作IO口时,程序一直在里面,OFIFG位一直为1

    BCSCTL2 |= SELM1 + SELM0 + SELS;      // MCLK = SMCLK = HF LFXT1 (safe)

while(1);

}


问: 回复: MSP430F2370频率总是 问者: 1775702

内部振荡和外部有源晶振在XOUT是测不到波形。XOUT失效的问题是时钟配置问题,在msp430 user guider有一句对有源晶振的说明:In bypass mode of operation, XIN can accept an external clock

input signal and XOUT is configured as a general-purpose I/O. The PSEL bit associated with XOUT is a

don't care.