在stm32中有些地方不可以用HAL_Delay();延时函数来进行延时操作(比如中断);
但是可以自己写延迟函数,下列是我总结的几个方法:
1、
void delay()
{
int a,b;
for(a=0;a<100;a++)
for(b=0;b<101;b++);
}2、
void delay(int i)
{
while(i--);
}用的时候直接调用delay();就可以了,是不是非常简单?
在STM32的中断等特定场景下,不能使用HAL_Delay函数进行延时。文章提供了两种自定义延迟函数的实现方式:一种是嵌套循环的延迟方法,另一种是基于递减计数的延迟。这些自定义函数可以在不适合使用HAL_Delay的场合提供简单的延时功能。
在stm32中有些地方不可以用HAL_Delay();延时函数来进行延时操作(比如中断);
但是可以自己写延迟函数,下列是我总结的几个方法:
1、
void delay()
{
int a,b;
for(a=0;a<100;a++)
for(b=0;b<101;b++);
}2、
void delay(int i)
{
while(i--);
}用的时候直接调用delay();就可以了,是不是非常简单?
4714

被折叠的 条评论
为什么被折叠?