提交 db6ee553 编写于 作者: 哈哈哈可是开电脑's avatar 哈哈哈可是开电脑 提交者: mysterywolf

[STM32][common]更新rt_hw_us_delay函数,以支持设置更高延时

* 未判断设置延时数是否会溢出
上级 262392a6
...@@ -133,11 +133,11 @@ void _Error_Handler(char *s, int num) ...@@ -133,11 +133,11 @@ void _Error_Handler(char *s, int num)
*/ */
void rt_hw_us_delay(rt_uint32_t us) 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 told, tnow, tcnt = 0;
rt_uint32_t reload = SysTick->LOAD; 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; told = SysTick->VAL;
while (1) while (1)
{ {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册