时间同步算法采用海思原本代码
authorluozheng <1732036298@qq.com>
Sat, 2 Nov 2024 10:54:13 +0000 (18:54 +0800)
committerluozheng <1732036298@qq.com>
Sat, 2 Nov 2024 10:54:13 +0000 (18:54 +0800)
code/sdk/drivers/chips/brandy/porting/liteos/riscv70/tick_timer.c

index da092c1..9e9712c 100755 (executable)
@@ -143,19 +143,18 @@ uint64_t HalClockGetCycles(void)
     lock_int_save = LOS_IntLock();
 
 #ifdef SUPPORT_RC_CALIBRATION
-    // if (g_pre_count == 0) {
-    //     tick_count = (uapi_systick_get_count() * OS_SYS_MS_PER_SECOND) / CLOCK_32K_CALI_FREQ;
-    //     g_pre_count = uapi_systick_get_count();
-    //     g_pre_msec = tick_count;
-    // } else {
-    //     now_count = uapi_systick_get_count();
-    //     msec = (double)((now_count - g_pre_count) * OS_SYS_MS_PER_SECOND) / CLOCK_32K_CALI_FREQ;
-    //     tick_count = g_pre_msec + msec;
-
-    //     g_pre_count = now_count;
-    //     g_pre_msec = tick_count;
-    // }
-    tick_count = uapi_systick_get_ms();
+    if (g_pre_count == 0) {
+        tick_count = (uapi_systick_get_count() * OS_SYS_MS_PER_SECOND) / CLOCK_32K_CALI_FREQ;
+        g_pre_count = uapi_systick_get_count();
+        g_pre_msec = tick_count;
+    } else {
+        now_count = uapi_systick_get_count();
+        msec = (double)((now_count - g_pre_count) * OS_SYS_MS_PER_SECOND) / CLOCK_32K_CALI_FREQ;
+        tick_count = g_pre_msec + msec;
+
+        g_pre_count = now_count;
+        g_pre_msec = tick_count;
+    }
 #else
     tick_count = uapi_systick_get_ms();
 #endif