freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

arduino-語法手冊-資料下載頁

2024-11-19 05:34本頁面
  

【正文】 數(shù)據(jù)類型)一個無符號數(shù)據(jù)類型占用1個字節(jié)的內(nèi)存。與byte的數(shù)據(jù)類型相同。無符號的char數(shù)據(jù)類型能編碼0到255的數(shù)字。為了保持Arduino的編程風(fēng)格的一致性,byte數(shù)據(jù)類型是首選。例子unsigned char myChar = 240。 byte(無符號數(shù))一個字節(jié)存儲8位無符號數(shù),從0到255。例子byte b = B10010。 // B 是二進制格式(B10010等于十進制18) int(整型)整數(shù)是基本數(shù)據(jù)類型,占用2字節(jié)。整數(shù)的范圍為32,768到32,767( 2^15 ~(2^15)1)。整數(shù)類型使用2的補碼方式存儲負數(shù)。最高位通常為符號位,表示數(shù)的正負。其余位被“取反加1”(此處請參考補碼相關(guān)資料,不再贅述)。Arduino為您處理負數(shù)計算問題,所以數(shù)學(xué)計算對您是透明的(術(shù)語:實際存在,但不可操作。相當(dāng)于“黑盒”)。但是,當(dāng)處理右移位運算符(187。)時,可能有未預(yù)期的編譯過程。示例int ledPin = 13。語法int var = val。var 變量名val 賦給變量的值提示當(dāng)變量數(shù)值過大而超過整數(shù)類型所能表示的范圍時(32,768到32,767),變量值會“回滾”(詳情見示例)。int xx = 32,768。x = x 1。 // x 現(xiàn)在是 32,767。x = 32,767。x = x + 1。 // x 現(xiàn)在是 32,768。 unsigned int(無符號整型)描述無符號整型變量擴充了變量容量以存儲更大的數(shù)據(jù),它能存儲32位(4字節(jié))數(shù)據(jù)。與標(biāo)準(zhǔn)長整型不同無符號長整型無法存儲負數(shù),其范圍從0到4,294,967,295(2 ^ 32 1)。例子unsigned long time。void setup(){ (9600)。}void loop(){ (Time: )。 time = millis()。//程序開始后一直打印時間 (time)。//等待一秒鐘,以免發(fā)送大量的數(shù)據(jù) delay(1000)。}語法unsigned long var = val。var 你所定義的變量名val 給變量所賦的值 word描述一個存儲一個16字節(jié)無符號數(shù)的字符,取值范圍從0到65535,與unsigned int相同。例子word w = 10000。 long(長整數(shù)型)描述長整數(shù)型變量是擴展的數(shù)字存儲變量,它可以存儲32位(4字節(jié))大小的變量,從2,147,483,648到2,147,483,647。例子long speedOfLight = 186000L。 //參見整數(shù)常量‘L’的說明語法long var = val。var 長整型變量名var 賦給變量的值 unsigned long(無符號長整數(shù)型)描述無符號長整型變量擴充了變量容量以存儲更大的數(shù)據(jù),它能存儲32位(4字節(jié))數(shù)據(jù)。與標(biāo)準(zhǔn)長整型不同無符號長整型無法存儲負數(shù),其范圍從0到4,294,967,295(2 ^ 32 1)。例子unsigned long time。void setup(){ (9600)。} void loop(){ (Time: )。 time = millis()。//程序開始后一直打印時間 (time)。//等待一秒鐘,以免發(fā)送大量的數(shù)據(jù) delay(1000)。}語法unsigned long var = val。var 你所定義的變量名val 給變量所賦的值 float(浮點型數(shù))描述float,浮點型數(shù)據(jù),就是有一個小數(shù)點的數(shù)字。浮點數(shù)經(jīng)常被用來近似的模擬連續(xù)值,因為他們比整數(shù)更大的精確度。 E+38 ~ +38。它被存儲為32位(4字節(jié))的信息。float只有67位有效數(shù)字。這指的是總位數(shù),而不是小數(shù)點右邊的數(shù)字。與其他平臺不同的是,在那里你可以使用double型得到更精確的結(jié)果(如15位),在Arduino上,double型與float型的大小相同。浮點數(shù)字在有些情況下是不準(zhǔn)確的,在數(shù)據(jù)大小比較時,可能會產(chǎn)生奇怪的結(jié)果。例如 / 可能不等于 。你應(yīng)該使兩個數(shù)字之間的差額的絕對值小于一些小的數(shù)字,這樣就可以近似的得到這兩個數(shù)字相等這樣的結(jié)果。浮點運算速度遠遠慢于執(zhí)行整??數(shù)運算,例如,如果這個循環(huán)有一個關(guān)鍵的計時功能,并需要以最快的速度運行,就應(yīng)該避免浮點運算。程序員經(jīng)常使用較長的程式把浮點運算轉(zhuǎn)換成整數(shù)運算來提高速度。舉例float myfloat。float sensorCalbrate = 。語法float var = val。var——您的float型變量名稱val——分配給該變量的值示例代碼int x。int y。float z。x = 1。y = x / 2。 // Y為0,因為整數(shù)不能容納分數(shù)z = (float)x / 。 // (,而不是2) double(雙精度浮點數(shù))描述雙精度浮點數(shù)。占用4個字節(jié)。目前的arduino上的double實現(xiàn)和float相同,精度并未提高。提示如果你從其他地方得到的代碼中包含了double類變量,最好檢查一遍代碼以確認其中的變量的精確度能否在arduino上達到。 string(char array/字符串)string(字符串)描述文本字符串可以有兩種表現(xiàn)形式。你可以使用字符串?dāng)?shù)據(jù)類型(這是0019版本的核心部分),或者你可以做一個字符串,由char類型的數(shù)組和空終止字符(39。\039。)構(gòu)成。(求助,待潤色Leo)本節(jié)描述了后一種方法。而字符串對象(String object)將讓你擁有更多的功能,同時也消耗更多的內(nèi)存資源,關(guān)于它的詳細信息,請參閱頁面(String object)[超鏈接]舉例以下所有字符串都是有效的聲明。char Str1[15]。char Str2[8] = {39。a39。, 39。r39。, 39。d39。, 39。u39。, 39。i39。, 39。n39。, 39。o39。}。char Str3[8] = {39。a39。, 39。r39。, 39。d39。, 39。u39。, 39。i39。, 39。n39。, 39。o39。, 39。\039。}。char Str4[ ] = arduino。char Str5[8] = arduino。char Str6[15] = arduino。聲明字符串的解釋在Str1中 聲明一個沒有初始化的字符數(shù)組在Str2中 聲明一個字符數(shù)組(包括一個附加字符),編譯器會自動添加所需的空字符在Str3中 明確加入空字符在Str4中 用引號分隔初始化的字符串常數(shù),編譯器將調(diào)整數(shù)組的大小,以適應(yīng)字符串常量和終止空字符在Str5中 初始化一個包括明確的尺寸和字符串常量的數(shù)組在Str6中 初始化數(shù)組,預(yù)留額外的空間用于一個較大的字符串空終止字符一般來說,字符串的結(jié)尾有一個空終止字符(ASCII代碼0)。以此讓功能函數(shù)(())知道一個字符串的結(jié)束。否則,他們將從內(nèi)存繼續(xù)讀取后續(xù)字節(jié),而這些并不屬于所需字符串的一部分。這意味著,你的字符串比你想要的文字包含更多的個字符空間。這就是為什么Str2和Str5需要八個字符,即使“Arduino”只有七個字符 最后一個位置會自動填充空字符。str4將自動調(diào)整為八個字符,包括一個額外的空。在Str3的,我們自己已經(jīng)明確地包含了空字符(寫入39。\ 039。)。需要注意的是,字符串可能沒有一個最后的空字符(例如在Str2中您已定義字符長度為7,而不是8)。這會破壞大部分使用字符串的功能,所以不要故意而為之。如果你注意到一些奇怪的現(xiàn)象(在字符串中操作字符),基本就是這個原因?qū)е碌牧?。單引號?還是雙引號?定義字符串時使用雙引號(例如“ABC”),而定義一個單獨的字符時使用單引號(例如39。A39。)包裝長字符串你可以像這樣打包長字符串: char myString[] = “This is the first line” ” this is the second line” ” etcetera”。字符串?dāng)?shù)組當(dāng)你的應(yīng)用包含大量的文字,如帶有液晶顯示屏的一個項目,建立一個字符串?dāng)?shù)組是非常便利的。因為字符串本身就是數(shù)組,它實際上是一個兩維數(shù)組的典型。在下面的代碼,”char*”在字符數(shù)據(jù)類型char后跟了一個星號39。*39。表示這是一個“指針”數(shù)組。所有的數(shù)組名實際上是指針,所以這需要一個數(shù)組的數(shù)組。指針對于C語言初學(xué)者而言是非常深奧的部分之一,但我們沒有必要了解詳細指針,就可以有效地應(yīng)用它。樣例char* myStrings[]={ This is string 1, This is string 2, This is string 3, This is string 4, This is string 5,This is string 6}。 void setup(){ (9600)。} void loop(){ for (int i = 0。 i 6。 i++){ (myStrings[i])。 delay(500)。 }} String object(String類)描述String類,是0019版的核心的一部分,允許你實現(xiàn)比運用字符數(shù)組更復(fù)雜的文字操作。你可以連接字符串,增加字符串,尋找和替換子字符串以及其他操作。它比使用一個簡單的字符數(shù)組需要更多的內(nèi)存,但它更方便。僅供參考,字符串?dāng)?shù)組都用小寫的string表示而String類的實例通常用大寫的String表示。注意,在“雙引號”內(nèi)指定的字符常量通常被作為字符數(shù)組,并非String類實例。函數(shù)StringcharAt()pareTo()concat()endsWith()equals()equalsIgnoreCase()GetBytes()indexOf()lastIndexOflengthreplace()setCharAt()startsWith()substring()toCharArray()toLowerCase()toUpperCase()trim()操作符[](元素訪問)+(串連)==(比較)舉例StringConstructorsStringAdditionOperatorStringIndexOfStringAppendOperatorStringLengthTrimStringCaseChangesStringReplaceStringCharactersStringStartsWithEndsWithStringComparisonOperatorsStringSubstring array (數(shù)組)數(shù)組是一種可訪問的變量的集合。Arduino的數(shù)組是基于C語言的,因此這會變得很復(fù)雜,但使用簡單的數(shù)組是比較簡單的。創(chuàng)建(聲明)一個數(shù)組下面的方法都可以用來創(chuàng)建(聲明)數(shù)組。 myInts [6]。 myPins [] = {2,4,8,3,6}。 mySensVals [6] = {2,4,8,3,2}。 char message[6] = hello。你聲明一個未初始化數(shù)組,例如myPins。在myPins中,我們聲明了一個沒有明確大小的數(shù)組。編譯器將會計算元素的大小,并創(chuàng)建一個適當(dāng)大小的數(shù)組。當(dāng)然,你也可以初始化數(shù)組的大小,例如在mySensVals中。請注意,當(dāng)聲明一個char類型的數(shù)組時,你初始化的大小必須大于元素的個數(shù),以容納所需的空字符。訪問數(shù)組數(shù)組是從零開始索引的,也就說,上面所提到的數(shù)組初始化,數(shù)組第一個元素是為索引0,因此:mySensVals [0] == 2,mySensVals [1] == 4,依此類推 。這也意味著,在包含十個元素的數(shù)組中,索引九是最后一個元素。因此, int myArray[10] = {9,3,2,4,3,2,7,8,9,11}。 // myArray[9]的數(shù)值為11 // myArray[10],該索引是無效的,它將會是任意的隨機信息(內(nèi)存地址)出于這個原因,你在訪問數(shù)組應(yīng)該小心。若訪問的數(shù)據(jù)超出數(shù)組的末尾(即索引數(shù)大于你聲明的數(shù)組的大小 1),則將從其他內(nèi)存中讀取數(shù)據(jù)。從這些地方讀取的數(shù)據(jù),除了產(chǎn)生無效的數(shù)據(jù)外,沒有任何作用。向隨機存儲器中寫入數(shù)據(jù)絕對是一個壞主意,通常會導(dǎo)致不愉快的結(jié)果,如導(dǎo)致系統(tǒng)崩潰或程序故障。要排查這樣的錯誤是也是一件難事。 不同于Basic或JAVA,C語言編譯器不會檢查你訪問的數(shù)組是否大于你聲明的數(shù)組。指定一個數(shù)組的值mySensVals [0] = 10。從數(shù)組中訪問一個值:X = mySensVals [4]。數(shù)組和循環(huán)數(shù)組往往在for循環(huán)中進行操作,循環(huán)計數(shù)器可用于訪問每個數(shù)組元素。例如,將數(shù)組中的元素通過串口打印,你可以這樣做: int i。 for (i = 0。 i 5。 i = i + 1) { (myPins[i])。 }例子如果你需要一個演示數(shù)組的完整程序,請參考Knight Rider exampel。十二、數(shù)據(jù)類型轉(zhuǎn)換 char()描述將一個變量的類型變?yōu)閏har。語法char(x)參數(shù)x:任何類型的值返回char byte()描述將一個值轉(zhuǎn)換為字節(jié)型數(shù)值
點擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1