Browse Source

[STM32][common]更新rt_hw_us_delay函数,以支持设置更高延时
* 未判断设置延时数是否会溢出

wdfk-prog 2 years ago
parent
commit
db6ee55379
1 changed files with 2 additions and 2 deletions
  1. 2 2
      bsp/stm32/libraries/HAL_Drivers/drv_common.c

+ 2 - 2
bsp/stm32/libraries/HAL_Drivers/drv_common.c

@@ -133,11 +133,11 @@ void _Error_Handler(char *s, int num)
  */
 void rt_hw_us_delay(rt_uint32_t us)
 {
-    rt_uint32_t ticks;
+    rt_uint64_t ticks;
     rt_uint32_t told, tnow, tcnt = 0;
     rt_uint32_t reload = SysTick->LOAD;
 
-    ticks = us * reload / (1000000 / RT_TICK_PER_SECOND);
+    ticks = us * (reload / (1000000 / RT_TICK_PER_SECOND));
     told = SysTick->VAL;
     while (1)
     {