中断里使用延时函数
@(STM32和MSP432常见问题)
STM32
在实际应用中发现,在STM32的中断里使用延时函数HAL_Delay(Delay)
容易出现问题(与SysTick中断的优先级),故采用while(t--);
代替延时函数。
经测定,
t=3127;
while(t--);
大致相当于HAL_Delay(1);
,即延时一毫秒,故可粗略地设定延时函数:
void ms_Delay(uint16_t t_ms)
{
uint32_t t=t_ms*3127;
while(t--);
}
MSP432
void ms_Delay(uint16_t t_ms)
{
uint32_t t=t_ms*4000;
while(t--);
}