浏览代码

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

wdfk-prog 2 年之前
父节点
当前提交
db6ee55379
共有 1 个文件被更改,包括 2 次插入2 次删除
  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)
     {