微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 关于时间计算的 来看看有什么区别 ,区别 很大

关于时间计算的 来看看有什么区别 ,区别 很大

时间:10-02 整理:3721RD 点击:


void delay(void)  //
{
        unsigned int i, j;
        j=100;i=10;
        do{
                while(j--);
        }while(i--);
}

void delay(void)  //
{
        unsigned int i, j;
        j=10;i=100;
        do{
                while(j--);
        }while(i--);
}

void delay1()
{
        uint i,j;
        for(i=0;i<100;i++)
        {
                for(j=0;j<10;j++)
                {}
        }
}

这两个延时  有着很大的差别 在使用时

你汇编一下就知道了,每个循环切换都需要指令,外部循环次数不一样,切换次数不一样,这就是为什么我们一般要求:有多个循环的话需要把次数少的循环放在外面,减少切换次数

上面几个原始  我试验了一下   感觉相差很大   不知道 是 自己  单片机 有问题 还是 编译工具有问题 ,我觉得理论上应该差不了多少才对啊

2,3应该差不多,1不一样,你用编译器汇编之后看一下吧

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top