Bblythe 发表于 2025-6-1 08:45

用SysTick做延时,结果别的外设都卡死了

延时函数没啥问题,就是调完发现串口、ADC都不正常,可能是阻塞时间太长。

Clyde011 发表于 2025-6-1 08:47

ST写的HAL_Delay其实就是个死循环

公羊子丹 发表于 2025-6-1 08:47

你是不是用了while循环延时?那肯定卡。

周半梅 发表于 2025-6-1 08:48

SysTick本质是阻塞式的,建议换成定时器。

帛灿灿 发表于 2025-6-1 08:49

如果用RTOS,SysTick会被系统抢走。

童雨竹 发表于 2025-6-1 08:50

看看有没有进SysTick中断,别只是delay。

万图 发表于 2025-6-1 08:50

HAL_Delay卡主所有任务,注意别在中断里用。

Wordsworth 发表于 2025-6-1 08:51

定时器做个非阻塞的延时更灵活。

Bblythe 发表于 2025-6-1 08:52

我干脆写了个基于定时器的计数器延时器。

Pulitzer 发表于 2025-6-1 08:53

如果要用DMA,SysTick这种阻塞很难配合。

Uriah 发表于 2025-6-1 08:55

你搞个状态机,轮询方式延时更清爽。
页: [1]
查看完整版本: 用SysTick做延时,结果别的外设都卡死了