历史上的今天
今天是:2025年04月19日(星期六)
2021年04月19日 | Nordic52810入门篇 - 实时时钟(RTC)
2021-04-19 来源:eefocus
RTC-24位实时时钟计数器,RTC模块使用低频时钟LCFK,52810有两个RTC模块 RTC0与RTC1
声明:蓝牙协议栈使能后将会使用RTC0;APP_TIMER库使用的是RTC1,所以当APP_TIMER组件使能后,RTC1不可以直接使用
一、原理框图
如下图,左边是开始START、停止STOP、清除CLEAR、触发TRIG 任务,右边可触发三种事件(回调中断)
TICK滴答事件:计数器COUNTER每计数一次会进行事件回调(中断),COUNTER计数值累加1,默认禁用
OVRFLW溢出事件:计数器COUNTER计数值溢出后触发(0xFFFFFF:16777215),默认禁用
COMPARE比较事件:通过设置CC寄存器与COUNTER比值进行触发比较中断,默认禁用

二、寄存器介绍

COUNTER(0x504):计数值寄存器,可读取当前计数值
PRESCALER(0x508):分频寄存器,12位,分频公式:
CC[0-3](0x540-0x54C):比较寄存器,计数器的数值和CC的相同时,会触发事件或中断
三、总结
由于LZ没有进行裸跑,基于S112的协议栈运行的,而使用任务事件回调的方式多多少少会有us级别的误差;蓝牙协议栈使能后RTC0的COUNTER计数器以30.517us分辨率计数,则每次通过读取COUNTER寄存器的值进行计时;由于COUNTER是24位,溢出值为16777215*30.517us = 512秒,溢出后进行进位
int main(void)
{
// Initialize.
ble_stack_init();
while(1)
{
SEGGER_RTT_printf(0,"RTC0 Time = %drn",(NRF_RTC0->COUNTER)>>15);
nrf_delay_ms(1000);
}
return 0;
}
打印出来的也是1秒进行计时
史海拾趣
|
讨论了利用霍尔元件在无刷电机控制系统中使用的问题,并对霍尔集成传感器进行 了探讨。介绍了2 种利 用霍 尔集成传感器组成无刷 电机控制 电路的方法。 … 查看全部问答> |
|
A Unified Calibration Algorithm for Scattering A simple algorithm which unifies the calibration procedures for Scattering and Load Pull measurements is proposed. The new technique is particulary useful when measuring non-insertable devices and for on-wafer characterization ...… 查看全部问答> |
|
在WinCE5.0下要添加哪些组件才能支持WiFi? 已经添加了: 还有就是,是不是如果支持了WiFi配置,那么在开机的时候就会弹出一个配置的对话框? 据说只支持English,是吗?有在中文下弄成功的吗?… 查看全部问答> |
|
usb 兼充电功能,但与PC连线的时候,PC会枚举识别设备。 如果我仅仅要的是充电功能,此时不需要PC设备设备,怎么去做? ----------- 谢谢!… 查看全部问答> |
|
公司的一个项目采用MIPS的CPU 发现调用intLock()无效,各中断照样产生 用IDA反汇编出来的代码如下: .text:80050524 # =============== S U B R O U T I N E ======================================= .text:80050524 .text:800505 ...… 查看全部问答> |
|
钢厂照明配电用接触器触点被烧是什么原因? 我公司最近在一钢厂 照明配电采用LC1-D245M7C交流接触器,型号是按照客户要求来选的。但是,最近老是烧掉交流接触器的主触点。 请教各位高手,造成上述问题的原因是什么?该如何处 ...… 查看全部问答> |




