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

正文內(nèi)容

arduino編程參考手冊中文版(編輯修改稿)

2025-07-22 06:01 本頁面
 

【文章內(nèi)容簡介】 當(dāng)操作數(shù)為假時返回真,例如:if (!x) { // ...} 若x為假返回真(即如果x等于0)警告確保你沒有把布爾與運(yùn)算符,amp。amp。(兩個與符號)錯認(rèn)為按位與運(yùn)算符amp。(單個與符號)。它們是完全不同的概念。同樣,不要混淆布爾或運(yùn)算符||(雙豎杠)與按位或運(yùn)算符|(單豎杠)。按位取反~(波浪號)看起來與布爾非!有很大不同(感嘆號或程序員口中的“棒”),但是你仍然必須確保在什么地方用哪一個。例如 if (a = 10 amp。amp。 a = 20){} // true if a is between 10 and 20指針運(yùn)算符amp。(引用)和 *(間接引用)指針對于C初學(xué)者來說是更復(fù)雜的對象之一。并且可能寫大量的Arduino程序甚至都不會遇到指針。無論如何,巧妙地控制特定的數(shù)據(jù)結(jié)構(gòu),使用指針可以簡化代碼,而且在自己工具箱中擁有熟練控制指針的知識是很方便的。位運(yùn)算位與按位與(amp。)按位操作符在變量的位級執(zhí)行運(yùn)算。它們幫助解決各種常見的編程問題。以下大部分資料來自一個有關(guān)位數(shù)學(xué)的優(yōu)秀教程,或許可以在這里找到。[1]描述和語法以下是所有這些運(yùn)算符的描述和語法。更詳細(xì)的資料或許可以在參考指南中找到。按位與(amp。)在C++中按位與運(yùn)算符是單個與符號, 用于其它兩個整型表達(dá)式之間使用。按位與運(yùn)算獨(dú)立地在周圍的表達(dá)式的每一位上執(zhí)行操作。根據(jù)這一規(guī)則:如果兩個輸入位都是1,結(jié)果輸出1,否則輸出0。表達(dá)這一思想的另一個方法是: 0 0 1 1 operand1 0 1 0 1 operand2 0 0 0 1 (operand1 amp。 operand2) returned result 在Arduino中,int型是16位的。所以在兩個整型表達(dá)式之間使用amp。將會導(dǎo)致16個與運(yùn)算同時發(fā)生。代碼片斷就像這樣: int a = 92。 // in binary: 0000000001011100 int b = 101。 // in binary: 0000000001100101 int c = a amp。 b。 // result: 0000000001000100, or 68 in decimal. 在a和b的16位的每一位將使用按位與處理。且所有16位結(jié)果存入C中,以二進(jìn)制存入的結(jié)果值01000100,即十進(jìn)制的68。按位與的其中一個最常用的用途是從一個整型數(shù)中選擇特定的位,常被稱為掩碼屏蔽??慈缦率纠何换虬次换颍▅)在C++中按位或運(yùn)算符是垂直的條桿符號,|。就像amp。運(yùn)算符,|獨(dú)立地計算它周圍的兩個整型表達(dá)式的每一位。(當(dāng)然)它所做的是不同的(操作)。兩個輸入位其中一個或都是1按位或?qū)⒌玫?,否則為0。換句話說: 0 0 1 1 operand1 0 1 0 1 operand2 0 1 1 1 (operand1 | operand2) returned result 這是一個使用一小斷C++代碼描述的按位或(運(yùn)算)的例子: int a = 92。 // in binary: 0000000001011100 int b = 101。 // in binary: 0000000001100101 int c = a | b。 // result: 0000000001111101, or 125 in decimal. 按位與和按位或的一個共同的工作是在端口上進(jìn)行程序員稱之為讀改寫的操作。在微控制器中,每個端口是一個8位數(shù)字,每一位表示一個引腳的狀態(tài)。寫一個端口可以同時控制所有的引腳。PORTD是內(nèi)建的參照數(shù)字口0,1,2,3,4,5,6,7的輸出狀態(tài)的常量。如果一個比特位是1,那么該引腳置高。(引腳總是需要用pinMode()指令設(shè)置為輸出模式)。所以如果我們寫入PORTD = B00110001;我們就會讓引腳2,3和7輸出高。一個小小的問題是,我們同時也改變了某些引腳的0,1狀態(tài)。這用于Arduino與串口通訊,所以我們可能會干擾串口通訊。我們的程序規(guī)則是:僅僅獲取和清除我們想控制的與相應(yīng)引腳對應(yīng)的位(使用按位與)。合并要修改的PORTD值與所控制的引腳的新值(使用按位或)。int i。 // counter variableint j。void setup(){DDRD = DDRD | B11111100。 // set direction bits for pins 2 to 7, leave 0 and 1 untouched (xx | 00 == xx)// same as pinMode(pin, OUTPUT) for pins 2 to 7(9600)。}void loop(){for (i=0。 i64。 i++){PORTD = PORTD amp。 B00000011。 // clear out bits 2 7, leave pins 0 and 1 untouched (xx amp。 11 == xx)j = (i 2)。 // shift variable up to pins 2 7 to avoid pins 0 and 1PORTD = PORTD | j。 // bine the port information with the new information for LED pins(PORTD, BIN)。 // debug to show maskingdelay(100)。 }} 位異或按位異或(^)在C++中有一個有點(diǎn)不尋常的操作,它被稱為按位異或,或者XOR(在英語中,通常讀作“eksor”)。按位異或運(yùn)算符使用符號^。該運(yùn)算符與按位或運(yùn)算符“|”非常相似 ,唯一的不同是當(dāng)輸入位都為1時它返回0。 0 0 1 1 operand1 0 1 0 1 operand2 0 1 1 0 (operand1 ^ operand2) returned result 看待XOR的另一個視角是,當(dāng)輸入不同時結(jié)果為1,當(dāng)輸入相同時結(jié)果為0。這里是一個簡單的示例代碼: int x = 12。 // binary: 1100 int y = 10。 // binary: 1010 int z = x ^ y。 // binary: 0110, or decimal 6 “^”運(yùn)算符常用于翻轉(zhuǎn)整數(shù)表達(dá)式的某些位(例如從0變?yōu)?,或從1變?yōu)?)。在一個按位異或操作中,如果相應(yīng)的掩碼位為1, 該位將翻轉(zhuǎn),如果為0,該位不變。以下是一個閃爍引腳5的程序.// Blink_Pin_5// demo for Exclusive ORvoid setup(){DDRD = DDRD | B00100000。 // set digital pin five as OUTPUT (9600)。}void loop(){PORTD = PORTD ^ B00100000。 // invert bit 5 (digital pin 5), leave others untoucheddelay(100)。} 位非按位取反(~)在C++中按位取反運(yùn)算符為波浪符“~”。不像“amp?!焙汀皘”,按位取反運(yùn)算符應(yīng)用于其右側(cè)的單個操作數(shù)。按位取反操作會翻轉(zhuǎn)其每一位。0變?yōu)?,1變?yōu)?。例如: 0 1 operand1 1 0 ~ operand1 int a = 103。 // binary: 0000000001100111 int b = ~a。 // binary: 1111111110011000 = 104 看到此操作的結(jié)果為一個負(fù)數(shù):104,你可能會感到驚訝,這是因為一個整型變量的最高位是所謂的符號位。如果最高位為1,該整數(shù)被解釋為負(fù)數(shù)。這里正數(shù)和負(fù)數(shù)的編碼被稱為二進(jìn)制補(bǔ)碼。欲了解更多信息,請參閱維基百科條目:補(bǔ)碼。順便說一句,值得注意的是,對于任何整數(shù)x, ~x 與 x1 相等。有時候,符號位在有符號整數(shù)表達(dá)式中能引起一些不期的意外。左移、右移左移運(yùn)算(),右移運(yùn)算()描述From The Bitmath Tutorial in The Playground 在C++中有兩個移位運(yùn)算符:左移運(yùn)算符和右移運(yùn)算符。這些運(yùn)算符將使左邊操作數(shù)的每一位左移或右移其右邊指定的位數(shù)。語法variable number_of_bits variable number_of_bits 參數(shù)br *variable (byte, int, long) number_of_bits integer = 32 br示例:br pre style=color:green int a = 5。 // binary: 0000000000000101 int b = a 3。 // binary: 0000000000101000, or 40 in decimal int c = b 3。 // binary: 0000000000000101, or back to 5 like we started with當(dāng)把x左移y位(x y),x中最左邊的y位將會丟失。 int a = 5。 // binary: 0000000000000101 int b = a 14。 // binary: 0100000000000000 101中的第一個1被丟棄 如果您確信沒有值被移出,理解左移位運(yùn)算符一個簡單的辦法是,把它的左操作數(shù)乘2將提高其冪值。例如,要生成2的乘方,可以使用以下表達(dá)式: 1 0 == 1 1 1 == 2 1 2 == 4 1 3 == 8 ... 1 8 == 256 1 9 == 512 1 10 == 1024 ... 當(dāng)把x右移y位,x的最高位為1,該行為依賴于x的確切的數(shù)據(jù)類型。如果x的類型是int,最高位為符號位,決定x是不是負(fù)數(shù),正如我們在上面已經(jīng)討論過的。在這種情況下,符號位會復(fù)制到較低的位: int x = 16。 // binary: 1111111111110000 int y = x 3。 // binary: 1111111111111110該行為,被稱為符號擴(kuò)展,常常不是你所期待的。反而,你可能希望移入左邊的是0。事實上右移規(guī)則對于無符合整型表達(dá)式是不同的。所以你可以使用強(qiáng)制類型轉(zhuǎn)換來避免左邊移入1。 int x = 16。 // binary: 1111111111110000 int y = (unsigned int)x 3。 // binary: 0001111111111110 如果你可以很小心地避免符號擴(kuò)展,你可以使用右移位運(yùn)算符,作為除以2的冪的一種方法。例如 int x = 1000。 int y = x 3。 // 1000除以8,得y = 125.復(fù)合運(yùn)算符自加++i++。 //相當(dāng)于 i = i + 1。自減i。 //相當(dāng)于 i = i 1。復(fù)合加+=i+=5。 //相當(dāng)于 i = i + 5。復(fù)合減=i=5。 //相當(dāng)于 i = i 5。復(fù)合乘*=i*=5。 //相當(dāng)于 i = i * 5。復(fù)合除/=i/=5。 //相當(dāng)于 i = i / 5。復(fù)合與amp。=iamp。=5。 //相當(dāng)于 i = i amp。 5。復(fù)合或|=i|=5。 //相當(dāng)于 i = i | 5。變量(本節(jié)轉(zhuǎn)自極客工坊)常量constants是在Arduino語言里預(yù)定義的變量。它們被用來使程序更易閱讀。我們按組將常量分類。邏輯層定義,true與false(布爾Boolean常量)在Arduino內(nèi)有兩個常量用來表示真和假:true和 false。false在這兩個常量中false更容易被定義。false被定義為0(零)。truetrue通常被定義為1,這是正確的,但true具有更廣泛的定義。在布爾含義(Boolean sense)里任何 非零 整數(shù) 為true。所以在布爾含義內(nèi)1,2和200都定義為ture。 需要注意的是true和false常量,不同于HIGH,LOW,INPUT和OUTPUT,需要全部小寫?!@里引申一下題外話arduino是大小寫敏感語言(case sensitive)。引腳電壓定義,HIGH和LOW當(dāng)讀取(read)或?qū)懭耄╳rite)數(shù)字引腳時只有兩個可能的值: HIGH 和 LOW 。HIGHHIGH(參考引腳)的含義取決于引腳(pin)的設(shè)置,引腳定義為INPUT或OUTPUT時含義有所不同。當(dāng)一個引腳通過pinMode被設(shè)置為INPUT,并通過digitalRead讀?。╮ead)
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1