打印
[应用方案]

单片机延时函数

[复制链接]
楼主: uiint
手机看帖
扫描二维码
随时随地手机跟帖
21
albertaabbot| | 2025-5-21 21:31 | 只看该作者 回帖奖励 |倒序浏览
若延时期间发生中断,中断处理会延长实际延时时间。

使用特权

评论回复
22
hilahope| | 2025-5-23 09:57 | 只看该作者
定时器方式精度高,适合对时间精度要求较高的场景。

使用特权

评论回复
23
yeates333| | 2025-5-23 10:24 | 只看该作者
单片机的时钟频率可能会受到温度和电源电压的影响,尤其是在使用内部振荡器的情况下。

使用特权

评论回复
24
timfordlare| | 2025-5-23 10:47 | 只看该作者
可以通过参数化设计,使延时函数能够适应不同的时钟频率和硬件配置。

使用特权

评论回复
25
gygp| | 2025-5-23 12:05 | 只看该作者
优先使用硬件定时器。              

使用特权

评论回复
26
modesty3jonah| | 2025-5-23 12:46 | 只看该作者
可以通过禁用中断或使用互斥锁等机制来保证延时函数的原子性。

使用特权

评论回复
27
louliana| | 2025-5-23 13:13 | 只看该作者
长时间延时优先使用定时器,避免依赖循环。

使用特权

评论回复
28
biechedan| | 2025-5-23 14:13 | 只看该作者
使用 volatile 关键字防止优

使用特权

评论回复
29
wengh2016| | 2025-5-23 14:42 | 只看该作者
可以选择不同的延时实现方法,如使用汇编语言编写更高效的延时函数,或利用硬件定时器资源。

使用特权

评论回复
30
minzisc| | 2025-5-23 15:53 | 只看该作者
在资源有限的单片机上,合理分配和优化延时函数的使用,可以提高整体系统的性能。

使用特权

评论回复
31
jimmhu| | 2025-5-23 16:27 | 只看该作者
延时函数通常通过空循环来实现,即在一个循环中不做任何操作,仅通过循环的次数来控制延时时间。

使用特权

评论回复
32
maudlu| | 2025-5-23 17:35 | 只看该作者
通过硬件定时器实现高精度延时,适用于对时间精度要求较高的场景。

使用特权

评论回复
33
benjaminka| | 2025-5-23 17:59 | 只看该作者
使用硬件定时器实现更精准的延时。

使用特权

评论回复
34
lzmm| | 2025-5-23 19:06 | 只看该作者
在某些情况下,编译器可能会优化掉看似无用的空循环,导致延时时间不符合预期。

使用特权

评论回复
35
mnynt121| | 2025-5-23 19:44 | 只看该作者
晶振频率决定了单片机的时钟周期,进而影响延时函数的精度。

使用特权

评论回复
36
iyoum| | 2025-5-23 20:12 | 只看该作者
编译器可能优化掉“空循环”,导致延时失效。

使用特权

评论回复
37
juliestephen| | 2025-5-23 20:31 | 只看该作者
长时间的延时会使得单片机无法及时响应外部事件,影响系统的实时性。

使用特权

评论回复
38
pl202| | 2025-5-23 21:13 | 只看该作者
短期、非关键延时可用循环实现,但需注意主频和编译器优化。

使用特权

评论回复
39
louliana| | 2025-5-23 21:31 | 只看该作者
在编写延时函数之前,必须明确知道单片机当前的工作频率。

使用特权

评论回复
40
bartonalfred| | 2025-5-23 21:50 | 只看该作者
如果单片机启用了中断,中断服务例程(ISR)的执行会打断主程序的运行,包括延时函数的执行。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则