请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F0 SysTick用作延时好还是定时好

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

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

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

收藏 评论3 发布时间:2021-2-8 15:10

举报

3个回答
七哥 回答时间:2021-2-9 09:51:26
Systick和其它通用硬件定时器,在裸机程序上用来延时的话,没有区别,不存在哪个好,那个不好的说法。

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

如果对延时精度要求不高的话,用软件延时可移植性最好。
老牛洋车 回答时间:2021-2-9 12:06:27
Systick是内核的中断,其他定时器是外设,显然用Systick来作基准定时器更方便代码的移植。
butterflyspring 回答时间:2021-2-22 11:35:25
Systick是内核的中断,很多应用操作系统中拿来做节拍定时器,官方的cube库用来做库的延时基准定时器。如果自己裸跑,不用操作系统或cube库,怎么用都行。 如果将来有可能使用,还是用外设定时器比较好,毕竟外设定时器很多,移植也很容易。

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版