msp430 2132 DCO设置为8M,
程序如下:
void initCLK()
{
WDTCTL = WDTPW + WDTHOLD; // Stop Watchdog Timer
if (CALBC1_8MHZ ==0xFF || CALDCO_8MHZ == 0xFF)
{
while(1); // If calibration constants erased
// do not load, trap CPU!!
}
BCSCTL1 = CALBC1_8MHZ; // Set DCO to 8MHz
DCOCTL = CALDCO_8MHZ;
}
当运行到最后此函数最后一句后,RAM区被清零导致 SP指向的堆栈区被清零 导致RET返回到了程序起始位置,如果改成1M的话 RAM区就正常,也能返回正确地址。msp430 2132的DCO不能到8M??手册上说能16M呢! |