打印
[STM32F0]

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

[复制链接]
236|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Bblythe|  楼主 | 2025-6-1 08:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
延时函数没啥问题,就是调完发现串口、ADC都不正常,可能是阻塞时间太长。

使用特权

评论回复
沙发
Clyde011| | 2025-6-1 08:47 | 只看该作者
ST写的HAL_Delay其实就是个死循环

使用特权

评论回复
板凳
公羊子丹| | 2025-6-1 08:47 | 只看该作者
你是不是用了while循环延时?那肯定卡。

使用特权

评论回复
地板
周半梅| | 2025-6-1 08:48 | 只看该作者
SysTick本质是阻塞式的,建议换成定时器。

使用特权

评论回复
5
帛灿灿| | 2025-6-1 08:49 | 只看该作者
如果用RTOS,SysTick会被系统抢走。

使用特权

评论回复
6
童雨竹| | 2025-6-1 08:50 | 只看该作者
看看有没有进SysTick中断,别只是delay。

使用特权

评论回复
7
万图| | 2025-6-1 08:50 | 只看该作者
HAL_Delay卡主所有任务,注意别在中断里用。

使用特权

评论回复
8
Wordsworth| | 2025-6-1 08:51 | 只看该作者
定时器做个非阻塞的延时更灵活。

使用特权

评论回复
9
Bblythe|  楼主 | 2025-6-1 08:52 | 只看该作者
我干脆写了个基于定时器的计数器延时器。

使用特权

评论回复
10
Pulitzer| | 2025-6-1 08:53 | 只看该作者
如果要用DMA,SysTick这种阻塞很难配合。

使用特权

评论回复
11
Uriah| | 2025-6-1 08:55 | 只看该作者
你搞个状态机,轮询方式延时更清爽。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

86

主题

4898

帖子

0

粉丝