成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

嵌入式C實現延時程序的不同變量的區別

開發
在進行嵌入式系統開發是,C語言中使用子函數實現延時有幾個問題需要闡明,當然討論高級語言的延時就需要考慮編譯器和處理器。

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

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

嵌入式延時程序的C變量

將上述的Delay1(100)(變量為unsigned int 類型)或Delay2(100)(變量為unsigned char  類型)分別在兩次過程中執行,便會得到了下述的執行結果:

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

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

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

責任編輯:佚名 來源: 嵌入式在線
相關推薦

2012-03-05 15:45:32

嵌入式開源軟件

2022-01-04 22:19:38

Linux開發嵌入式

2009-12-24 17:21:38

嵌入式Linux

2022-01-03 23:33:40

Linux組件系統

2022-12-14 08:06:08

2023-01-04 09:37:16

2023-04-27 07:06:18

2020-04-22 11:51:41

物聯網嵌入式編程IOT

2013-01-21 10:26:13

2019-07-15 15:52:03

開發技能代碼

2011-06-21 11:30:31

嵌入式 Qt

2014-05-26 15:14:04

DIGIA嵌入式Qt

2010-01-06 09:53:08

嵌入式

2014-09-02 09:45:57

Linux

2009-06-26 16:18:40

Windows Emb

2011-08-05 09:11:56

2012-05-09 14:26:27

linux嵌入式

2009-12-24 17:27:52

嵌入式Linux

2023-07-16 22:48:59

2023-05-04 00:27:40

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久久吹潮 | 欧美一区二区在线观看 | 国产一级片免费在线观看 | 成人免费网视频 | 97国产超碰| 久久久69 | 日韩中文字幕一区 | 狠狠爱网址 | 日韩欧美三级电影 | 人干人人| 亚洲区视频 | 亚洲免费在线观看 | 色婷婷一区二区三区四区 | 成人精品一区二区三区 | 欧美日韩亚洲三区 | 欧美精品三区 | 国产精品久久久久久久久久久免费看 | 先锋资源吧 | 伊人电影院av | 91在线精品秘密一区二区 | 国产午夜精品久久久久免费视高清 | 一区二区三区四区国产 | 99视频在线播放 | 真人毛片 | 99精品国产一区二区三区 | 免费黄色网址视频 | 国产视频精品在线 | 精品国产乱码久久久久久丨区2区 | 中文字幕一区在线观看视频 | 久久精品网| 亚洲一区二区久久 | 97久久精品午夜一区二区 | 亚洲精品自在在线观看 | 久久1区 | aa级毛片毛片免费观看久 | 久久av一区 | 亚洲av一级毛片 | 欧美激情在线一区二区三区 | 国产欧美一区二区在线观看 | 午夜理伦三级理论三级在线观看 | av片免费|