• <strike id="aymay"></strike>
    <strike id="aymay"></strike>
    <ul id="aymay"><dfn id="aymay"></dfn></ul>
    <ul id="aymay"><sup id="aymay"></sup></ul>
  • <del id="aymay"></del>

    嵌入式系統(tǒng)C語言實現(xiàn)延時程序的不同變量的區(qū)別

    2013-08-29 10:29 來源:電源網(wǎng) 作者:鈴鐺

    在嵌入式系統(tǒng)中,延時是經(jīng)常需要使用的一種手段,延時的方法可以通過使用類似于"NOP"的指令來實現(xiàn),但是如果延時的時間比較 長,如果使用太多的"NOP"指令則會消耗過多的儲存空間,最好的方法是使用子程序(匯編語言中)或子函數(shù)(高級語言中)。當(dāng)然這里并不打算討論如果使用 定時器中斷來實現(xiàn)延時。下面就在C語言中使用子函數(shù)實現(xiàn)延時的幾個問題做些討論,當(dāng)然討論高級語言的延時就需要考慮編譯器和處理器,這里為了討論的方便, 而且不失一般性,可以用標(biāo)準(zhǔn)51單片機作處理器和uVision2作為編譯環(huán)境,晶振為12MHz,這樣一個標(biāo)準(zhǔn)的機器周期即為1uS。其他的情況則可以據(jù)此類推。

    先看一段延時程序:其中Delay1()與Delay2()兩者的型參類型不同。

    1

    將上述的Delay1(100)(變量為unsignedint類型)或Delay2(100)(變量為unsignedchar類型)分別在兩次過程中執(zhí)行,便會得到了下述的執(zhí)行結(jié)果:

    2

    斷點B減去斷點A的時間為810uS,這個時間即為執(zhí)行Delay1(100)所花費的時間;

    3

    斷點B減去斷點A的時間為608uS,這個時間即為執(zhí)行Delay2(100)所花費的時間;

    由此可見,作為unsignedint變量類型來傳遞延時函數(shù)的參數(shù),會增長延時的時間,而使用unsignedchar變量類型則會得到短的延時時 間。我們都知道C語言經(jīng)過編譯后是要轉(zhuǎn)化成匯編語言的,只有匯編語句才有精確的執(zhí)行時間,所以要知道這兩者結(jié)果的不同,原因就在于他們經(jīng)過編譯之后匯編語 句的不同的地方。

    嵌入式 C語言 延時程序

    相關(guān)閱讀

    暫無數(shù)據(jù)

    一周熱門

    主站蜘蛛池模板: 91精品视频网站| 久久精品国产亚洲沈樵| 久久91精品国产91久久小草| 亚洲精品456播放| 精品一区二区三区在线视频| 一本一本久久A久久综合精品 | 精品久久人人妻人人做精品| 精品久久久久一区二区三区| 精品免费久久久久久久| 日本一区二区三区精品国产 | 亚洲日韩一页精品发布| 精品熟女少妇aⅴ免费久久| 亚洲国产精品自在线一区二区| 国产午夜精品免费一区二区三区| 中文字幕精品无码一区二区三区 | 国产成人亚洲合集青青草原精品| 亚洲人成电影网站国产精品| 欧美精品亚洲精品日韩专区| 精品国产毛片一区二区无码| 国产韩国精品一区二区三区| 久久精品国产一区二区三区日韩| AV无码精品一区二区三区| 欧美精品一区二区蜜臀亚洲| 一本久久精品一区二区| 亚洲AV无码成人精品区大在线| 久久99精品国产麻豆蜜芽| 国产精品伊人久久伊人电影| 99热精品久久只有精品| 6080亚洲精品午夜福利| 2021年精品国产福利在线| 久久亚洲欧美日本精品| 亚洲精品电影网| 成人国产一区二区三区精品 | 国产一区二区精品| 久久国产乱子精品免费女| 久久久国产精品网站| 一级香蕉精品视频在线播放| www.日韩精品| 国产一区二区精品久久岳| 久久精品成人免费国产片小草 | 国产欧美国产精品第一区|