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

正文內(nèi)容

arduino-語法手冊(編輯修改稿)

2024-11-19 05:34 本頁面
 

【文章內(nèi)容簡介】 analogRead(0)。 i =(i + 1)%10。 //取模運算 }提示模運算符對浮點數(shù)不起作用。五、比較運算符 ==(等于)if(條件判斷語句)和 ==、!=、(比較運算符)if 語句與比較運算符一起用于檢測某個條件是否達成,如某輸入值是否在特定值之上等。if 語句的語法是:if (someVariable 50){ // 執(zhí)行某些語句}本程序測試 someVariable 變量的值是否大于 50。當(dāng)大于 50 時,執(zhí)行一些語句。換句話說,只要 if 后面括號里的結(jié)果(稱之為測試表達式)為真,則執(zhí)行大括號中的語句(稱之為執(zhí)行語句塊);若為假,則跳過大括號中的語句。 if 語句后的大括號可以省略。若省略大括號,則只有一條語句(以分號結(jié)尾)成為執(zhí)行語句。if (x 120) digitalWrite(LEDpin, HIGH)。 if (x 120)digitalWrite(LEDpin, HIGH)。 if (x 120){ digitalWrite(LEDpin, HIGH)。 } if (x 120){ digitalWrite(LEDpin1, HIGH)。 digitalWrite(LEDpin2, HIGH)。 } // 以上所有書寫方式都正確在小括號里求值的表達式,需要以下操作符:比較運算操作符: x == y(x 等于 y) x != y(x 不等于 y) x y(x 小于 y) x y(x 大于 y) x = y(x 小于等于 y) x = y(x 大于等于 y)警告注意使用賦值運算符的情況(如 if (x = 10))。一個“=”表示的是賦值運算符,作用是將 x 的值設(shè)為 10(將值 10 放入 x 變量的內(nèi)存中)。兩個“=”表示的是比較運算符(如 if (x == 10)),用于測試 x 和 10 是否相等。后面這個語句只有 x 是 10 時才為真,而前面賦值的那個語句則永遠(yuǎn)為真。這是因為 C 語言按以下規(guī)則進行運算 if (x=10):10 賦值給 x(只要非 0 的數(shù)賦值的語句,其賦值表達式的值永遠(yuǎn)為真),因此 x 現(xiàn)在值為 10。此時 if 的測試表達式值為 10,該值永遠(yuǎn)為真,因為非 0 值永遠(yuǎn)為真。所以,if (x = 10) 將永遠(yuǎn)為真,這就不是我們運行 if 所期待的結(jié)果。另外,x 被賦值為 10,這也不是我們所期待的結(jié)果。if 的另外一種分支條件控制結(jié)構(gòu)是 if...else 形式。 !=(不等于) ==(等于) (小于) ==(等于) (大于) ==(等于) =(小于等于) ==(等于) =(大于等于) ==(等于)六、布爾運算符 amp。amp。(與)布爾運算符這些運算符可以用于if條件句中。amp。amp。(邏輯與)只有兩個運算對象為“真”,才為“真”,如:if (digitalRead(2) == HIGH amp。amp。 digitalRead(3) == HIGH) { // 讀取兩個開關(guān)的電平 // ...}如果當(dāng)兩個輸入都為高電平,則為“真”。||(邏輯或)只要一個運算對象為“真”,就為“真”,如:if (x 0 || y 0) { // ...}如果x或y是大于0,則為“真”。?。ㄟ壿嫹牵┤绻\算對象為“假”,則為“真”,例如if (!x) { // ...}如果x為“假”,則為真(即如果x等于0)。警告千萬不要誤以為,符號為amp。(單符號)的位運算符”與”就是布爾運算符的“與”符號為amp。amp。(雙符號)。他們是完全不同的符號。同樣,不要混淆布爾運算符||(雙豎)與位運算符“或”符號為| (單豎)。位運算符?(波浪號)看起來與布爾運算符not有很大的差別?。ㄕ绯绦騿T說:“驚嘆號”或“bang”),但你還是要確定哪一個運算符是你想要的。舉例if (a = 10 amp。amp。 a = 20){} // 如果a的值在10至20之間,則為“真” ||(或) amp。amp。(與) !(非) amp。amp。(與)七、指針運算符 * 取消引用運算符指針運算符amp。 (取地址) 和 * (取地址所指的值)指針對C語言初學(xué)者來說是一個比較復(fù)雜的內(nèi)容,但是編寫大部分arduino代碼時可以不用涉及到指針。然而,操作某些數(shù)據(jù)結(jié)構(gòu)時,使用指針能夠簡化代碼,但是指針的操作知識很難在工具書中找到,可以參考C語言相關(guān)工具書。 amp。 引用運算符 *取消引用運算符八、位運算符 amp。 (按位與)按位與(amp。)按位操作符對變量進行位級別的計算。它們能解決很多常見的編程問題。下面的材料大多來自這個非常棒的按位運算指導(dǎo)。說明和語法下面是所有的運算符的說明和語法。進一步的詳細(xì)資料,可參考教程。按位與(amp。)位操作符與在C + +中是一個amp。符,用在兩個整型變量之間。按位與運算符對兩側(cè)的變量的每一位都進行運算,規(guī)則是:如果兩個運算元都是1,則結(jié)果為1,:0 0 1 1 運算元10 1 0 1 運算元20 0 0 1(運算元1amp。運算元2)返回結(jié)果在Arduino中,int類型為16位,所以在兩個int表達式之間使用amp。會進行16個并行按位與計算。代碼片段就像這樣: int a = 92。 //二進制: 0000000001011100 int b = 101。 // 二進制: 0000000001100101 int c = a amp。 b。 // 結(jié)果: 0000000001000100, 或10進制的68a和b的16位每位都進行按位與計算,計算結(jié)果存在c中,二進制結(jié)果是01000100,十進制結(jié)果是68.按位與最常見的作用是從整型變量中選取特定的位,也就是屏蔽。見下方的例子。按位或(|)按位或操作符在C++中是|。和amp。操作符類似,|操作符對兩個變量的為一位都進行運算,只是運算規(guī)則不同。按位或規(guī)則:只要兩個位有一個為1則結(jié)果為1,否則為0。換句話說:0 0 1 1 運算元10 1 0 1 運算元20 1 1 1(運算元1 | 運算元2) 返回的結(jié)果這里是一個按位或運算在C + +代碼片段:int a = 92。 // 二進制: 0000000001011100int b = 101。 //二進制: 0000000001100101int c = a | b。 // 結(jié)果: 0000000001111101, 或十進制的125示例程序按位與和按位或運算常用于端口的讀取修改寫入。在微控制器中,一個端口是一個8位數(shù)字,它用于表示引腳狀態(tài)。對端口進行寫入能同時操作所有引腳。PORTD是一個內(nèi)置的常數(shù),是指0,1,2,3,4,5,6,7數(shù)字引腳的輸出狀態(tài)。如果某一位為1,著對應(yīng)管腳為HIGH。(此引腳需要先用pinMode()命令設(shè)置為輸出)因此如果我們這樣寫,PORTD=B00110001;則引腳7狀態(tài)為HIGH。這里有個小陷阱,我們可能同時更改了引腳0、1的狀態(tài),引腳0、1是Arduino串行通信端口,因此我們可能會干擾通信。我們的算法的程序是:讀取PORT并用按位與清除我們想要控制的引腳用按位或?qū)ORTD和新的值進行運算int i。 // 計數(shù)器int j。 void setup()DDRD = DDRD | B11111100。 //設(shè)置引腳2~7的方向,0、1腳不變(xx|00==xx)//效果和pinMode(pin,OUTPUT)設(shè)置2~7腳為輸出一樣(9600)。}void loop () {for (i=0。 i64。 i++){ PORTD = PORTD amp。 B00000011。 // 清除2~7位,0、1保持不變(xx amp。 11 == xx)j = (i 2)。 //將變量左移為2~7腳,避免0、1腳PORTD = PORTD | j。 //將新狀態(tài)和原端口狀態(tài)結(jié)合以控制LED腳(PORTD, BIN)。 // 輸出掩蓋以便調(diào)試delay(100)。}}按位異或(^)C++中有一個不常見的操作符叫按位異或,也叫做XOR(通常讀作”eksor“)。按位異或操作符用‘^39。表示。此操作符和按位或(|)很相似,區(qū)別是如果兩個位都為1則結(jié)果為0:0 0 1 1 運算元10 1 0 1 運算元20 1 1 0(運算元1 ^運算元2) 返回的結(jié)果按位異或的另一種解釋是如果兩個位值相同則結(jié)果為0,否則為1。下面是一個簡單的代碼示例:int x = 12。 // 二進制: 1100int y = 10。 // 二進制: 1010int z = x ^ y。 // 二進制: 0110, 或十進制 6// Blink_Pin_5//演示“異或”void setup(){DDRD = DDRD | B00100000。 / /設(shè)置數(shù)字腳5設(shè)置為輸出(9600)。}void loop () {PORTD = PORTD ^ B00100000。 // 反轉(zhuǎn)第5位(數(shù)字腳5),其他保持不變delay(100)。} | (按位或) amp。(按位與) ^ (按位異或) amp。(按位與) ~ (按位非)按位取反 (~)按位取反在C+ +語言中是波浪號~。與&(按位與)和|(按位或)不同,按位取反使用在一個操作數(shù)的右側(cè)。按位取反將操作數(shù)改變?yōu)樗摹胺疵妗保?變?yōu)?,1變成0。例如:0 1 operand11 0 ~ operand1int a = 103。 // 二進制: 0000000001100111int b = ~a。 // 二進制: 1111111110011000 = 104你可能會驚訝地看到結(jié)果為像104這樣的數(shù)字。這是因為整數(shù)型變量的最高位,即所謂的符號位。如果最高位是1,這個數(shù)字將變?yōu)樨?fù)數(shù)。這個正數(shù)和負(fù)數(shù)的編碼被稱為補。想了解更多信息,請參考Wikipedia文章two39。s plement.順便說一句,有趣的是,要注意對于任何整數(shù)型操作數(shù)X,?X和X1是相同的。有時,對帶有符號的整數(shù)型操作數(shù)進行位操作可以造成一些不必要的意外。 (左移位運算符)bitshift left (), bitshift right ()描述出自Playground的 The Bitmath Tutorial 在C++語言中有兩個移位運算符:左移位運算符(171。)和右移運算符(187。)。這些操作符可使左運算元中的某些位移動右運算元中指定的位數(shù)。想了解有關(guān)位的更多信息可以點擊 這里。語法variable 171。 number_of_bits variable 187。 number_of_bits參數(shù)variable (byte, int, long) number_of_bits integer ? 32例子int a = 5。 // 二進制數(shù): 0000000000000101int b = a 3。 // 二進制數(shù): 0000000000101000, 或十進制數(shù):40int c = b 3。 // 二進制數(shù): 0000000000000101, 或者說回到開始時的5//當(dāng)你將x左移y位時(x171。y),x中最左邊的y位會逐個逐個的丟失:int a = 5。 // 二進制: 0000000000000101int b = a 14。 // 二進制: 0100000000000000 101中最左邊的1被丟棄如果你確定位移不會引起數(shù)據(jù)溢出,你可以簡單的把左移運算當(dāng)做對左運算元進行2的右運算元次方的操作。例如,要產(chǎn)生2的次方,可使用下面的方式:1 0 == 11 1 == 21 2 == 41 3 == 8...1 8 == 2561 9 == 51210 1 == 1024...當(dāng)你將x右移y位(x187。y),如果x最高位是1,位移結(jié)果將取決于x的數(shù)據(jù)類型。如果x是int類型,最高位為符號位,確定是否x是負(fù)數(shù)或不是,正如我們上面的討論。如果x類型為int,則最高位是符號位,正如我們以前討論過,符號位表示x是正還是負(fù)。在這種情況下,由于深奧的歷史原因,符號位被復(fù)制到較低位:X = 16。 //二進制:1111111111110000Y = X 3 //二進制:1111111111111110這種結(jié)果,被稱為符號擴展,往往不是你想要的行為。你可能希望左邊被移入的數(shù)是0。右移操作對無符號整型來說會有不同結(jié)果,你可以通過數(shù)據(jù)強制轉(zhuǎn)換改變從左邊移入的數(shù)據(jù):X = 16。 //二進制:1111111111110000int y = (unsigned int)x 3。 // 二進制: 0001111111111110如果你能小心的避免符號擴展問題,你可以將右移操作當(dāng)做對數(shù)據(jù)除2運算。例如:INT = 1000。Y = X 3。 8 1000 //1000整除8,使y=125 (右移位運算符)詳見 (左移位運算符)九、復(fù)
點擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1