玩转Mixly – 5、Arduino AVR编程 之 逻辑
以下內(nèi)容源自Mixly官方技術(shù)文檔:
https://mixly.readthedocs.io/zh_CN/latest/Arduino/AVR/04Logic.html
?
邏輯
邏輯模塊中的指令大多是邏輯運(yùn)算處理內(nèi)容,具體可分為:條件判斷、邏輯運(yùn)算、?運(yùn)算。
比較運(yùn)算符
| 1 | 0 == 0; ? |
?
描述
注解
比較運(yùn)算符適用于比較兩個(gè)值的運(yùn)算符號(hào),用比較運(yùn)算符比較兩個(gè)值時(shí),結(jié)果是一個(gè)邏輯值,不是TRUE就是FALSE。
等于(=)
等于用在變量之間、變量和自變量之間以及其他類型的信息之間的比較,判斷符號(hào)兩側(cè)的數(shù)據(jù)值是否相等,要求兩側(cè)數(shù)據(jù)類型相同時(shí)才能比較。
規(guī)則是:如果兩個(gè)數(shù)據(jù)值相等,數(shù)據(jù)類型相同,則結(jié)果為TRUE,否則輸出FALSE。
范例
1=1,返回True;1=“1”,不成立
| 1 2 3 4 5 6 7 8 9 10 | void setup(){ Serial.begin(9600); if (1 == 1) { Serial.print("True"); } } void loop(){ 0 == "1"; 1; } ? |
?
不相等(≠)
不等于是等于符號(hào)的相反判斷。
規(guī)則:符號(hào)兩邊的數(shù)據(jù)值相等時(shí),返回FALSE,否則返回TRUE。
小于(<)
小于符號(hào)進(jìn)行有順序的比較,如果符號(hào)左邊的數(shù)據(jù)值小于右邊的數(shù)據(jù)值,則返回TRUE,否則返回FALSE。
小于等于(≤)
小于等于符號(hào)與小于符號(hào)類似,多出一種返回TRUE的情況,如果符號(hào)左邊的數(shù)據(jù)值小于等于右邊的數(shù)據(jù)值,則返回TRUE,否則返回FALSE。
大于(>)
大于符號(hào)進(jìn)行有順序的比較,如果符號(hào)左邊的數(shù)據(jù)值大于右邊的數(shù)據(jù)值,則返回TRUE,否則返回FALSE。
大于等于(≥)
大于等于符號(hào)與大于符號(hào)類似,多出一種返回TRUE的情況,如果符號(hào)左邊的數(shù)據(jù)值大于等于右邊的數(shù)據(jù)值,則返回TRUE,否則返回FALSE。
范例
在A0連接電位器,D9連接LED。轉(zhuǎn)動(dòng)電位器,大于600燈一直亮,在400和600之間,燈滅,小于400燈閃。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | void setup(){ Serial.begin(9600); pinMode(9, OUTPUT); } void loop(){ Serial.println(analogRead(A0)); delay(1000); if (analogRead(A0) >= 600) { digitalWrite(9,HIGH); } else if (analogRead(A0) <= 400) { digitalWrite(9,HIGH); delay(200); digitalWrite(9,LOW); delay(200); } else { digitalWrite(9,LOW); } } ? |
?
邏輯運(yùn)算符
| 1 | false && false; ? |
?
描述
注解
邏輯運(yùn)算符用于判定變量或值之間的邏輯。
且
且的含義同邏輯運(yùn)算符與,只有當(dāng)符號(hào)兩邊的表達(dá)式均為真時(shí),才被判斷為真,否則為假。
或
或也是邏輯運(yùn)算符的一種,只有當(dāng)兩邊的表達(dá)式均為假時(shí),才被判斷為假,否則為真。
范例
光控按鈕燈:A0連接光線傳感器,D4連接LED,D3連接按鈕,當(dāng)A0<50光線暗)并按鈕被被下時(shí),LED為高電平;否則,LED為低電電平
| 1 2 3 4 5 6 7 8 9 10 11 | void setup(){ pinMode(3, INPUT); pinMode(4, OUTPUT); } void loop(){ if (analogRead(A0) < 50 && digitalRead(3)) { digitalWrite(4,HIGH); } else { digitalWrite(4,LOW); } } ? |
?
?:語(yǔ)句
| 1 | (0 > 0)?false:false; ? |
?
描述
注解
對(duì)于條件表達(dá)式b ? x : y,先計(jì)算條件b,然后進(jìn)行判斷。如果b的值為true,計(jì)算x的值,運(yùn)算結(jié)果為x的值;否則,計(jì)算y的值,運(yùn)算結(jié)果為y的值。一個(gè)條件表達(dá)式絕不會(huì)既計(jì)算x,又計(jì)算y。條件運(yùn)算符是右結(jié)合的,也就是說(shuō),從右向左分組計(jì)算。例如,a ? b : c ? d : e將按a ? b : (c ? d : e)執(zhí)行。
參數(shù)
-
判斷條件:先計(jì)算判斷條件的值
-
x:當(dāng)判斷條件的值為true,運(yùn)算結(jié)果為x的值
-
y:當(dāng)判斷條件的值為false,運(yùn)算結(jié)果為y的值
范例
聲控?zé)?#xff1a;A0連接聲音傳感器,D2連接LED,當(dāng)A0>50時(shí),LED為高電平;否則,LED為低電平
| 1 2 3 4 5 6 7 8 | void setup(){ Serial.begin(9600); pinMode(2, OUTPUT); } void loop(){ Serial.println(analogRead(A0)); digitalWrite(2,(analogRead(A0) > 50)?HIGH:LOW); } ? |
微信關(guān)注圖中張十三的博客公眾號(hào),與張十三一起探討更多mixly開(kāi)發(fā)問(wèn)題:
?
總結(jié)
以上是生活随笔為你收集整理的玩转Mixly – 5、Arduino AVR编程 之 逻辑的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 玩转Mixly – 3、Arduino
- 下一篇: 玩转Mixly – 6、Arduino