CC2541设置外部时钟为32Mhz

void clock(void)
{
     SLEEPCMD &= ~0x04;                      // 启动所有晶振
     while (!(SLEEPSTA & 0x40));             // 等待晶振稳定
 
     CLKCONCMD = (CLKCONCMD & 0x80) | 0x49;  //使用16Mhz晶振作为主时钟
     while ((CLKCONSTA & ~0x80) != 0x49 );   // 等待主时钟切换到16Mhz


     CLKCONCMD = (CLKCONCMD & ~0x80) ;       // 使用外部32Khz作为休眠时钟
     while ( (CLKCONSTA & 0x80) != 0 );      // 等待睡眠时钟切换到32Khz晶振
 
     CLKCONCMD = (CLKCONCMD & 0x80) ;        // 使用32Mhz时钟作为主时钟
     while ( (CLKCONSTA & ~0x80) != 0 );     // 等待主时钟切换到32Mhz
 
     SLEEPCMD |= 0x04;                       // 关闭未使用的晶振
}

你可能感兴趣的:(CC2541设置外部时钟为32Mhz)