[STM32F1] 延时用定时器

[复制链接]
777|13
 楼主| zyf部长 发表于 2020-4-12 12:21 | 显示全部楼层 |阅读模式

有人想通过软件来实现精确延时,这个方法不太好用。同一延时代码,不同的延时时间都不一样,还有编译器的影响等等。ARM执行指令采用流水线,想实现精确延时很难,不像51那样,每条指令你可以精确计算的。
    个人感觉用定时器是最好的了,配置非常简单,而且ST的定时器非常强大。你们认为呢?
kangzj 发表于 2020-4-12 12:27 | 显示全部楼层
有人就想用数指令来实现,有什么办法呢,没法沟通。
chuxh 发表于 2020-4-12 12:36 | 显示全部楼层
我发了一个不占用通用定时器,在不影响SYSTICK工作情况下,通过查询SYSTICK的计数和重装寄存器实现的方法,结果被喷了。
chuxh 发表于 2020-4-12 12:40 | 显示全部楼层
软件是不可能进行特别精确的延时的。很多cpu有自带的计时寄存器的
juventus9554 发表于 2020-4-12 13:31 | 显示全部楼层
思路没转过来,把ARM当51用习惯了。

从ST7开始,我就没写过软件延时的代码,放着定时器不用,不浪费吗。
stly 发表于 2020-4-12 13:40 | 显示全部楼层
软件延时在操作系统中有它的用处.
 楼主| zyf部长 发表于 2020-4-12 13:47 | 显示全部楼层
这是肯定的,但对于精确延时最好还是用定时器。
renyaq 发表于 2020-4-12 13:49 | 显示全部楼层
各有各有用处吧?
xxrs 发表于 2020-4-12 13:52 | 显示全部楼层

啥用处啊?
huanghuac 发表于 2020-4-12 13:55 | 显示全部楼层
看你习惯和应用方案了。
tian111 发表于 2020-4-12 13:58 | 显示全部楼层
不是不能用 是个人的思路不同
juventus9554 发表于 2020-4-12 14:00 | 显示全部楼层

感觉就是习惯问题很少有人这么用的
dingy 发表于 2020-4-12 14:11 | 显示全部楼层

我一般是用系统滴答定时器来延时的。库里好像也有这么一个延时函数的。
 楼主| zyf部长 发表于 2020-4-12 14:17 | 显示全部楼层
唉,还是没有什么结果,算了,多谢大家啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

694

主题

7102

帖子

8

粉丝
快速回复 在线客服 返回列表 返回顶部