This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

为何测试用DCO做MCLK输出总与理论相差10倍?

Other Parts Discussed in Thread: MSP430G2553

用的是官方例程的代码,如下

#include <msp430g2553.h>

void main(void)

{

WDTCTL = WDTPW +WDTHOLD; // Stop Watchdog Timer

if (CALBC1_1MHZ ==0xFF || CALDCO_1MHZ == 0xFF)

{
while(1); // If calibration constants erased
// do not load, trap CPU!!
}

/*/1Mhz

BCSCTL1 = CALBC1_1MHZ; // Set range

DCOCTL = CALDCO_1MHZ; // Set DCO step + modulation */

/*//8Mhz

BCSCTL1 = CALBC1_8MHZ; // Set range

DCOCTL = CALDCO_8MHZ; // Set DCO step + modulation */

//12Mhz

BCSCTL1 = CALBC1_12MHZ; // Set range

DCOCTL = CALDCO_12MHZ; // Set DCO step + modulation*/

/* //16Mhz

BCSCTL1 = CALBC1_16MHZ; // Set range

DCOCTL = CALDCO_16MHZ; // Set DCO step + modulation*/

P1DIR |= 0x13; // P1.0,1 and P1.4 outputs

P1SEL |= 0x11; // P1.0,4 ACLK, SMCLK output

while(1)

{

P1OUT |= 0x02; // P1.1 = 1

P1OUT &= ~0x02; // P1.1 = 0

}

}

不管选择哪种模式,实际引脚用示波器看总是差10倍,比如设置DCO为1MHZ,则示波器测得就是100K,以此类推,都是差10倍,请问是为什么?

谢谢!