本帖最后由 pengchunhua123 于 2013-11-13 11:11 编辑
CPU运行在晶振(32768Hz)和DCO时钟下怎么理解,为什么msp430的cpu能有两个时钟源,程序附上,望高手指点
#include <msp430g2231.h>
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗定时器
if (CALBC1_1MHZ ==0xFF || CALDCO_1MHZ == 0xFF)
{
while(1); // If cal const erased, 挂起
}
BCSCTL1 = CALBC1_1MHZ; // Set range
DCOCTL = CALDCO_1MHZ; //设置DCO模式
P1DIR = 0x41; // P1.0 和P1.6配置输出
P1OUT = 0x01; // P1.0 开启
BCSCTL3 |= LFXT1S_0; // LFXT1 = 32768Hz
while(IFG1 & OFIFG)
{
IFG1 &= ~OFIFG; // 清除OSCFault 标志
_delay_cycles(100000); // 为可见标志延时
}
P1OUT = 0; // P1.6 关闭
// __bis_SR_register(SCG1 + SCG0); // 关闭DCO
BCSCTL2 |= SELM_0 + DIVM_3; // MCLK = DCO
while(1)
{
P1OUT = 0x40; // P1.6 开启
_delay_cycles(100);
P1OUT = 0; / / P1.6 关闭
_delay_cycles(5000);
}
}
|