大家在开发STM32单片机时候程序需要用到延时一般怎么做?

2019-12-27 18:43发布

一直没用过ARM大家在用STM32时候如果需要延时几ms一般会怎么做呢?也像8位机那样弄一些算式让它空算耗时间吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
20条回答
panyi1013
1楼-- · 2019-12-28 16:16
 精彩回答 2  元偷偷看……
foxpro2005
2楼-- · 2019-12-28 20:56
搭车 嘀嗒定时器 ,很简单很方便
dykwai1
3楼-- · 2019-12-28 21:02
时间要求精确的就直接定时器中断
时间要求一般的可以在while(1)主循环中检测定时器标志
weichao4808335
4楼-- · 2019-12-28 22:57
我一般都是用滴答定时器做1ms或者500us中断,然后所有任务以此为时间基准,实时性高的1到2ms执行一次,不高的根据需要每隔10ms甚至100ms执行一次,这样很好做计时或者延时!
security
5楼-- · 2019-12-29 00:57
落叶知秋 发表于 2017-7-7 13:50
https://www.amobbs.com/thread-5665490-1-1.html


看了一下,是用 DWT 实现的。
以前也看到过此概念,一直没去看看,再关注一下。

不过其实用 51 时代的做法,就可以。
具体分析,我在这边:「求ARM汇编的高手给个delay函数
17 楼,给出了具体的分析。

这种方法从本质上来说,跟 51 单片机时代的计算软件延时的算法一致:
只需要根据主频计算出一次 loop 的指令周期就好了。
有兴趣的话,可以去看看。
dog
6楼-- · 2019-12-29 04:11
 精彩回答 2  元偷偷看……

一周热门 更多>