打印
[MCU]

不用定时器怎么用c程序写一个比较精确的延时子程序

[复制链接]
1000|30
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wuhany|  楼主 | 2020-10-11 17:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
dengdc| | 2020-10-11 17:35 | 只看该作者
使用__delay_cycles();

使用特权

评论回复
板凳
heweibig| | 2020-10-11 17:39 | 只看该作者
这个还真不好办呢。

使用特权

评论回复
地板
lizye| | 2020-10-11 17:45 | 只看该作者
不过时钟准了,就延时也准了。

使用特权

评论回复
5
spark周| | 2020-10-11 17:48 | 只看该作者
先是确定下单片机的主频频率的,然后就算下你的延时的时间的就ok了

使用特权

评论回复
6
zhaoxqi| | 2020-10-11 17:51 | 只看该作者

#define CPU_F ((double)8000000)
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))


很精确的延时,

使用特权

评论回复
7
wuhany|  楼主 | 2020-10-11 17:55 | 只看该作者

嗯,我知道了, 多谢啊

使用特权

评论回复
8
bqyj| | 2020-10-11 18:05 | 只看该作者
可以考虑使用软件定时器或者系统定时器进行精确定时延时

使用特权

评论回复
9
zwll| | 2020-10-11 18:08 | 只看该作者
使用__NOP()函数

使用特权

评论回复
10
chuxh| | 2020-10-11 18:08 | 只看该作者
硬件电路可能有区别的

使用特权

评论回复
11
xxrs| | 2020-10-11 18:11 | 只看该作者
一种是硬件延时,要用到定时器/计数器

使用特权

评论回复
12
xxrs| | 2020-10-11 18:14 | 只看该作者
用循环函数延时

使用特权

评论回复
13
zyf部长| | 2020-10-11 18:19 | 只看该作者
需要精确知道延时函数的具体延时时间。

使用特权

评论回复
14
wangzsa| | 2020-10-11 18:22 | 只看该作者
精确延时有吗

使用特权

评论回复
15
happy_10| | 2020-10-11 18:25 | 只看该作者
C 语言最大的缺点就是实时性差

使用特权

评论回复
16
songqian17| | 2020-10-11 18:31 | 只看该作者
软件延时的基本方法是调用延时子程序

使用特权

评论回复
17
wangpe| | 2020-10-11 18:39 | 只看该作者
很多延时都直接用的 Sleep()

使用特权

评论回复
18
liuzaiy| | 2020-10-11 18:43 | 只看该作者
C语言不能精确延时

使用特权

评论回复
19
wuhany|  楼主 | 2020-10-11 18:46 | 只看该作者
需要精确到什么程度呢?

使用特权

评论回复
20
chuxh| | 2020-10-11 18:49 | 只看该作者
通过普通延时函数实现精确的定时

使用特权

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

本版积分规则

879

主题

10435

帖子

4

粉丝