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

正文內(nèi)容

arduino-語(yǔ)法手冊(cè)-資料下載頁(yè)

2025-11-10 05:34本頁(yè)面
  

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