CC2530 内部RC低速K晶振 外部32.768K晶振 取舍的问题

使用内部RC晶振:

        优点:

成本低;少个晶振能低0.5-1元。

                电路板可以做的更小;不要外部低速晶振可以让线路板变窄1.5mm,更高的集成度。

缺点:

                晶振频率会随着温度变化而变化。CC2530晶振变化频率0.4%/℃,极端情况下可能会漂移20%。晶振频率漂移会带来睡眠定时器计时不准。

CC2530校准机制:

When the 32-kHz RC oscillator is enabled, it is calibrated when a switch from the 16-MHz RC oscillator to the 32-MHz crystal oscillator
is performed while SLEEPCMD.OSC32K_CALDIS is 0.

The calibrated 32-kHz RC oscillator frequency is

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
校准外置32.768K RTC,需要以下步骤: 1.配置RTC时钟源:RTC时钟源可以是LSI(低速内部RC振荡器)或LSE(低速外部晶振)。在使用外部晶振时,需要在RCC寄存器中设置LSE作为RTC时钟源。 2.配置外部晶振:需要在GPIO寄存器中配置外部晶振的管脚为外部时钟输入模式(EXTI),并且需要在RCC寄存器中使能外部时钟输入(LSEON)。 3.等待外部晶振稳定:等待外部晶振稳定需要一定的时间,通常需要等待数百毫秒至数秒钟。 4.校准RTC:在RTC控制寄存器(RTC_CR)中,需要使能RTC校准功能(CAL),并且设置校准值(CALP和CALM)。 下面是一个简单的例子程序: ``` #include "stm32f10x.h" void RTC_Configuration(void) { // 使能PWR和BKP外设时钟 RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE); // 允许访问BKP区域 PWR_BackupAccessCmd(ENABLE); // 如果RTC没有启动,初始化RTC和BKP区域 if (BKP_ReadBackupRegister(BKP_DR1) != 0x1234) { RCC_LSEConfig(RCC_LSE_ON); // 启动LSE晶振 while (RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET); // 等待LSE稳定 RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE); // 设置RTC时钟源为LSE RCC_RTCCLKCmd(ENABLE); // 使能RTC时钟 RTC_WaitForSynchro(); // 等待RTC寄存器同步 RTC_InitTypeDef RTC_InitStructure; RTC_InitStructure.RTC_AsynchPrediv = 0x7F; // 设置RTC异步分频器 RTC_InitStructure.RTC_SynchPrediv = 0xFF; // 设置RTC同步分频器 RTC_InitStructure.RTC_HourFormat = RTC_HourFormat_24; // 设置RTC为24小时格式 RTC_Init(&RTC_InitStructure); BKP_WriteBackupRegister(BKP_DR1, 0x1234); // 标记RTC已经初始化过 } // 校准RTC RTC_WriteProtectionCmd(DISABLE); // 允许修改RTC配置寄存器 RTC_CR |= RTC_CR_CAL; // 使能RTC校准 RTC_CALR = 0x7F; // 设置校准值 RTC_WriteProtectionCmd(ENABLE); // 禁止修改RTC配置寄存器 } ``` 注意:以上代码仅供参考,具体实现方式需要根据实际情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值