summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwdfk-prog <[email protected]>2022-12-22 16:46:15 +0800
committerMan, Jianting (Meco) <[email protected]>2022-12-22 21:18:29 -0500
commitdb6ee55379aae1a4b2cad5b7cab4d5891334db79 (patch)
treedbbd0c3271312469da8bc1b7410d99472d855b62
parent262392a69c4db4e61915c2b4666d7327affdcf5e (diff)
[STM32][common]更新rt_hw_us_delay函数,以支持设置更高延时
* 未判断设置延时数是否会溢出
-rw-r--r--bsp/stm32/libraries/HAL_Drivers/drv_common.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/bsp/stm32/libraries/HAL_Drivers/drv_common.c b/bsp/stm32/libraries/HAL_Drivers/drv_common.c
index 0dfffda874..dcf002dcc0 100644
--- a/bsp/stm32/libraries/HAL_Drivers/drv_common.c
+++ b/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)
{