CC2530 系统时钟初始化

本文深入解析了CC2530微控制器的系统时钟初始化过程,阐述了如何通过程序配置32MHz晶振作为主时钟源,并介绍了高速时钟与低速时钟的区别及其应用。此外,还提供了示例代码帮助理解。

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

                                   CC2530 系统时钟初始化

 系统时钟
     系统时钟是从所选的主系统时钟源获得的,主系统时钟源可以是 32 MHz XOSC 或 16 MHz RCOSC。CLKCONCMD.OSC 位选择主系统时钟的源。注意要使用 RF 收发器,必须选择高速且稳定的 32 MHz 晶振。
      注意改变 CLKCONCMD.OSC 位不会立即改变系统时钟。时钟源的改变首先在 CLKCONSTA.OSC =CLKCONCMD.OSC 的时候生效。这是因为在实际改变时钟源之前需要有稳定的时钟。还要注意CLKCONCMD.CLKSPD 位反映系统时钟的频率,因此是 CLKCONCMD.OSC 位的映像。
        选择了 32 MHz XOSC 且稳定之后,即当 CLKCONSTA.OSC位从 1 变为 0,16 MHz RC 振荡器就被校准。

时钟分为:高速时钟和低速时钟

         高速时钟:CPU、串口等    

         低速时钟:看门狗定时器、睡眠定时器等

 

示例:系统时钟 设置为32MHz晶振,不分频

void InitClock(void)

{

CLKCONCMD &= ~(1<<6); /*选择32MHz晶振*/

while(!(SLEEPSTA & (1<<6))); /*等待晶振稳定*/ 

CLKCONCMD &= ~0x07;    /* 不分频*/           

SLEEPCMD |= (1<<2);/*关闭不用的RC振荡器,可省*/

 

}

查看CC2530 的数据手册,参考一下寄存器:

 

如果想深入了解,请亲自查看数据手册,会受益匪浅的。

   CC2530的很多IO接口部件运行都与时钟有密切关系,如串口控制器的波特率、 定时器的定时周期、RF电路,我们要能够正确地通过程序来操纵这些接口,必须让CC2530工作在一定的时钟频率下。
         

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一颗小树x

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值