4个帖子/ 0新
最后一篇
武汉彭
离线
最后一次露面:1年1个月前
加入:2015-07-20 08:21
如何在da14583上的实现持续的时钟

嗨。
我的sdk是5.0.3,我竟在da14583上实现跑时,和手机〖utc后,〗实现钟。我调计lld_evt_time_get()获取系统0.625us节,我是0.625us节,但请问,实现实现的功能,有没有参考的案例或者,谢谢。

设备:
qinjiny_dialog
离线
最后一次露面:2个星期22小时前
员工
加入:2016-11-01 05:47
lld_evt_time_get(

lld_evt_time_get()会提供一卷27位的32uint时间值,单位如你所说的是0.625us .23.3小时会溢出.da的芯片本身含有rtc的实现案例,这些计时一般都只只适空间时间比较长的毛里需要在非易失性储存里建立条问题时销量来确保确保时空不合会丢失,并且需要定寿和其他制备综合时间同步来确保准确。大拇指大rc实现需要借助借助外面部或者制备

武汉彭
离线
最后一次露面:1年1个月前
加入:2015-07-20 08:21
嗨,

嗨,
我在你的sdk里面发作了__inline bool lld_evt_time_cmp(uint32_t time1,uint32_t time2);里面是时候 - 时间2> 3193600我想知道这个时间比较什么.3193600是什么?

静态uint64_t msystime __attribute __((部分(“保留_mem_area0”)))= 0;
静态UINT32_T last_time __attribute __((部分(“保留_mem_area0”)))= 0;

/ **********************************************************
164 void set_msystime()
165 {
167 uint32_t cur = lld_evt_time_get();

173 IF(CUR> BLE_BASETIMECNT_MASK){
174返回;
175}
176.
177如果(cur> = last_time)
178 {
179 msystime + =(cur - last_time);
180}
181 else.
182 {
183如果(last_time <= 8000){
184 // last_time = 1600;
185 //返回;
186}
187如果(last_time> =(ble_basetimecnt_mask - 3200)){
188 msystime + =(ble_basetimecnt_mask - last_time);
189 msystime + = cur;
190}
191别的{
192}
193 // pr_err(“max_time%d%llu%d \ n”,cur,msystime,last_time);
194}
195 // msysdaybase + =(((cur - last_time)>> 3)* 5);
196 last_time = cur;
197
198 // printf(“ms:%U时间:%llu \ n \ r”,ms,msystime);
199}

/ **********************************************************
296 void system_time_proc(void)
297 {
298 set_msystime();
303}
305}
306.
/ **********************************************************
308静态void systick_isr(无效)
309 {
310 system_time_proc();
311}
312 / **********************************************************
313 void init_sys_time()
314 {
315 systick_register_callback(systick_isr);
316 systick_start(5000,1);
317}

我是通过上游在systick中间里奇时5ms取一件儿时间来实现长时间的时代统计,但是时间休眠下载以后,出现时间变大多多。
我们项目已经生产阶段,但就是卡在这个问题上,能否帮忙解决,谢谢?

qinjiny_dialog
离线
最后一次露面:2个星期22小时前
员工
加入:2016-11-01 05:47
【长时空】【频繁睡眠/唤醒】并且【独立计时】的

【长时空】【长睡眠】【独立计时】【独立计时】的,da14580是rtc的,最好的的解决法还是外在晶振

首先systick时间记在巴斯蒂米伯恩器里,一道27位,23.3小时左右就溢出,你的程序需要去手溢出它避免情况情况情况工工它这个情况发行。设备睡下时余发酵蛋白手作品。备下时余的系统,但会在一起在另个寄存器里,醒来后再补偿回basetimecnt(参考函数lld_sleep_compensate_func_patched())。

可以的热量在每次连接程中间从连接的整体机那边同步一下子