找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

帖子
查看: 2550|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

關(guān)于單片機(jī)延時(shí)函數(shù)的理解問(wèn)題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
void Delay(int n)
{
          int x;
        while(n--)
        {
                x=50;
                while(x--);
        }
}

這個(gè)函數(shù)如果傳n=2,表示延時(shí)多少時(shí)間?20us?請(qǐng)教一下大佬一下

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:401564 發(fā)表于 2018-12-4 18:53 | 只看該作者
跟n有關(guān)系,但不是像數(shù)學(xué)那樣的有對(duì)等的關(guān)系
這就是一個(gè)C函數(shù),n是C語(yǔ)言里的一個(gè)變量,執(zhí)行幾次是C標(biāo)準(zhǔn)里面的,并不絕對(duì)等于多少時(shí)間。
這個(gè)函數(shù)是要先經(jīng)過(guò)編譯器編譯成機(jī)器語(yǔ)言,然后再燒錄進(jìn)單片機(jī)去執(zhí)行的。
對(duì)于KEIL來(lái)說(shuō),C函數(shù)是要先編譯成匯編,然后再燒錄的。運(yùn)行的時(shí)間主要是看編譯之后的匯編的執(zhí)行時(shí)間的,不同編譯噐,效率不同,函數(shù)的延時(shí)時(shí)長(zhǎng)也會(huì)不同的。
如果你要看這個(gè)函數(shù)延時(shí)多長(zhǎng)時(shí)間,可以在C中添加斷點(diǎn),或者是運(yùn)行之后看生成的匯編,主要是看執(zhí)行了多少個(gè)時(shí)鐘,然后,再對(duì)比這個(gè)單片機(jī)的系統(tǒng)時(shí)鐘,最后去計(jì)算。
怎么這么恐怖呀,我自己都看不明白了
回復(fù)

使用道具 舉報(bào)

板凳
ID:116029 發(fā)表于 2018-12-4 20:13 | 只看該作者
Delay(2)
回復(fù)

使用道具 舉報(bào)

地板
ID:429805 發(fā)表于 2018-12-5 08:43 | 只看該作者
Y_G_G 發(fā)表于 2018-12-4 18:53
跟n有關(guān)系,但不是像數(shù)學(xué)那樣的有對(duì)等的關(guān)系
這就是一個(gè)C函數(shù),n是C語(yǔ)言里的一個(gè)變量,執(zhí)行幾次是C標(biāo)準(zhǔn)里 ...

STC8C51機(jī)型的 怎么計(jì)算
回復(fù)

使用道具 舉報(bào)

5#
ID:401564 發(fā)表于 2018-12-5 17:24 | 只看該作者
hello_liu 發(fā)表于 2018-12-5 08:43
STC8C51機(jī)型的 怎么計(jì)算

不用計(jì)算,在下載器上有一個(gè)延時(shí)計(jì)算器,輸入你想要的時(shí)長(zhǎng),自動(dòng)生成C代碼,注意看右上角
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表