summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorself-confident neko <[email protected]>2023-06-18 06:27:57 +0800
committerGitHub <[email protected]>2023-06-17 18:27:57 -0400
commit1104b80a4db4f308a21f80a9c6c0f7a692de1785 (patch)
tree0f9ad8b212118bdf63793a8c6521ee662e3dd27d
parent7d8f485321a7f5501a8cbe33f070117813803cb1 (diff)
[ch32][risc-v][bsp] update drv_common for wch risc-v bsp
-rw-r--r--bsp/wch/risc-v/Libraries/ch32_drivers/drv_common.c63
-rw-r--r--bsp/wch/risc-v/Libraries/ch32_drivers/drv_common.h50
2 files changed, 60 insertions, 53 deletions
diff --git a/bsp/wch/risc-v/Libraries/ch32_drivers/drv_common.c b/bsp/wch/risc-v/Libraries/ch32_drivers/drv_common.c
index 79145ea939..8b98915ff0 100644
--- a/bsp/wch/risc-v/Libraries/ch32_drivers/drv_common.c
+++ b/bsp/wch/risc-v/Libraries/ch32_drivers/drv_common.c
@@ -1,28 +1,35 @@
-/*
- * Copyright (c) 2006-2023, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2023-06-14 muaxiaohei first version
- */
-
-#include <rtthread.h>
-#include "drv_common.h"
-
-void rt_hw_us_delay(rt_uint32_t us)
-{
- uint64_t total_delay_ticks, us_ticks, start, now, delta, reload;
-
- start = SysTick->CNT;
- reload = SysTick->CMP;
- us_ticks = SystemCoreClock / 8000000UL;
- total_delay_ticks = (uint32_t)us * us_ticks;
- RT_ASSERT(total_delay_ticks < reload);
-
- do{
- now = SysTick->CNT;
- delta = start > now ? start - now : reload + start - now;
- }while(delta < total_delay_ticks);
-}
+/*
+ * Copyright (c) 2006-2023, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2023-06-14 muaxiaohei first version
+ */
+
+#include <rtthread.h>
+#include "drv_common.h"
+
+#define DBG_TAG "drv.common"
+#define DBG_LVL DBG_INFO
+#include <rtdbg.h>
+
+void rt_hw_us_delay(rt_uint32_t us)
+{
+ rt_uint64_t total_delay_ticks, us_ticks, start, now, delta, reload;
+
+ start = SysTick->CNT;
+ reload = SysTick->CMP;
+ us_ticks = SystemCoreClock / 8000000UL;
+ total_delay_ticks = us * us_ticks;
+ if (total_delay_ticks >= reload)
+ {
+ LOW_E("rt_hw_us_delay: the us parameter exceeds the maximum limit!");
+ }
+
+ do {
+ now = SysTick->CNT;
+ delta = start > now ? start - now : reload + start - now;
+ } while(delta < total_delay_ticks);
+}
diff --git a/bsp/wch/risc-v/Libraries/ch32_drivers/drv_common.h b/bsp/wch/risc-v/Libraries/ch32_drivers/drv_common.h
index df9bed2794..1df9af8783 100644
--- a/bsp/wch/risc-v/Libraries/ch32_drivers/drv_common.h
+++ b/bsp/wch/risc-v/Libraries/ch32_drivers/drv_common.h
@@ -1,25 +1,25 @@
-/*
- * Copyright (c) 2006-2023, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2023-06-14 muaxiaohei first version
- */
-
-#ifndef __DRV_COMMON_H__
-#define __DRV_COMMON_H__
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void rt_hw_us_delay(rt_uint32_t us);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
+/*
+ * Copyright (c) 2006-2023, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2023-06-14 muaxiaohei first version
+ */
+
+#ifndef __DRV_COMMON_H__
+#define __DRV_COMMON_H__
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void rt_hw_us_delay(rt_uint32_t us);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif