
本人是一名初学者,刚用STM32F030R8T6做了一款控制器,购买了网上的学习开发板并观看了教程,确实学到不少东西,也了解了这个芯片是如何运行的,项目也接近尾声,目前程序里Systick 用作延时,Delay_ms(),初始化时关闭它的定时中断功能,用Timer1作为整个系统的基础定时基准,例如定时1ms,10ms,500ms,1s,但公司里其它的同事看到我的程序后建议把Systick改成定时功能,作基础定时用,而不建议用作延时功能,方便后面程序移植. 最好有个定论,方便后面程序的移植,不能各自玩各自的,一个公司里面写程序的风格和标准需要统一。 想问下各位,Systick到底是用作延时好?还是用作定时好,都有什么优缺点? |
但是你要上操作系统的话,Systick会用作系统节拍时钟,如果你在程序中用了Systick,那么你让系统怎么办。而如果用其它硬件定时器的话,就不存在这个问题了。
如果对延时精度要求不高的话,用软件延时可移植性最好。