STM32
直播中

徐开

11年用户 914经验值
擅长:MEMS/传感技术
私信 关注
[问答]

Systick到底是用作延时好还是用作定时好?都有什么优缺点?

本人是一名初学者,刚用STM32F030R8T6做了一款控制器,购买了网上的学习开发板并观看了教程,确实学到不少东西,也了解了这个芯片是如何运行的,项目也接近尾声,目前程序里Systick 用作延时,Delay_ms(),初始化时关闭它的定时中断功能,用Timer1作为整个系统的基础定时基准,例如定时1ms,10ms,500ms,1s,但公司里其它的同事看到我的程序后建议把Systick改成定时功能,作基础定时用,而不建议用作延时功能,方便后面程序移植.

最好有个定论,方便后面程序的移植,不能各自玩各自的,一个公司里面写程序的风格和标准需要统一。

想问下各位,Systick到底是用作延时好?还是用作定时好,都有什么优缺点?

回帖(1)

李德鹏

2024-4-8 16:08:56
Systick和其它通用硬件定时器,在裸机程序上用来延时的话,没有区别,不存在哪个好,那个不好的说法。

但是你要上操作系统的话,Systick会用作系统节拍时钟,如果你在程序中用了Systick,那么你让系统怎么办。而如果用其它硬件定时器的话,就不存在这个问题了。

如果对延时精度要求不高的话,用软件延时可移植性最好。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分