CC2541设置外部时钟为32Mhz

本文介绍了一个具体的嵌入式系统中时钟配置过程,包括启动晶振、等待晶振稳定、设置不同频率的主时钟及休眠时钟等步骤。通过逐段解析代码,读者可以了解到如何在嵌入式设备上进行精确的时钟管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;                       // 关闭未使用的晶振
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值