打印
[技术问答]

延时函数该如何写?

[复制链接]
536|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
刚才看帖,发现有个大神说另外一个大神的延时是搞笑的。弱弱的问一下,延时如何做是科学的?
https://bbs.21ic.com/icview-2932278-1-1.html

贴主的延时是这么写的,我也没看太懂。

这位大神说是搞笑的,按他意思应该这么写是不对的,或者不科学。弱弱的问一下各位大神,延时函数该如何写科学。。

使用特权

评论回复

相关帖子

沙发
zhuotuzi|  楼主 | 2020-3-15 15:50 | 只看该作者
我认为该修改一行。
void delay(void)
{
        int i=320;
        TR0=1;
        while(i--)
        {
                TL0 = (65536 - 50000)%256;    //时钟为Fsys,则溢出时间=50000*(1/Fsys);
                TH0 = (65536 - 50000)/256;
                while(TF0==0);
                TF0=0;
        }
                TR0=0;
}

因为没有必要在循环里每次都TR0

使用特权

评论回复
板凳
zhuotuzi|  楼主 | 2020-3-15 15:50 | 只看该作者
TR0=1,TR0=0.其实执行一次就实现了,所以贴主没有考虑到这个细节。不知道回帖的那个大神是不是这么理解的。

使用特权

评论回复
地板
奇立电源| | 2020-4-8 12:45 | 只看该作者
while中有while,精准没毛病啊

使用特权

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

本版积分规则

197

主题

3263

帖子

7

粉丝