瀏覽單個文章
NEAL
Golden Member
 
NEAL的大頭照
 

加入日期: Jun 2002
您的住址: Taiwan
文章: 2,668
引用:
作者SGI
大大果然有經驗
確實是類似這樣的寫法]
用三顆LED燈, 二進為算法來表示骰子點數
我省略了一堆程式碼 只列出我有問題的部分 抱歉
其實我的問題很簡單
digitalWrite(pinNumber, status)中
status 不是HIGH 就是 LOW
要說HIGH=1 LOW=0 我也接受
但是使用( result & B001) 出來的結果是一個大於等於1的數值
假設是4 這跟 HIGH是一樣的效果嗎?(因為>=1)
小弟比較龜毛 有時想法都會鑽牛角尖~~抱歉


DigitalWrite在API手冊的naming就是要你填HIGH或LOW,填以外的值都是不好的用法。

寫這樣Compile會過是因為Compiler的設計者想降低學習者的門檻,所以會盡可能去寫轉換規則滿足這種情況。

我猜設計者可能會在 digitalwrite 額外實作 true 、非0或大於0自動轉換成HIGH; 而0或false就自動轉換成LOW,你可以試試看。

但這不是好用法,哪天Arduino Sketcher更版決定拿掉這樣的自動轉換規則,你的code在新版一compile就壞了。
__________________
工作主力機:
AMD Ryzen7 8700G
ASRock Deskmini X600
Crucial DDR5-5600 SODIMM 8GBx2
Samsung 970 EVO Plus 1TB
Thermalright AXP-90 black
Acer XV272U KV
ASUS ROG Gladius II Origin
GANSS HS75T x Glorious Panda

LG 32LM6200 32吋液晶電視電源模組維修經驗分享
舊 2015-11-06, 08:07 PM #4
回應時引用此文章
NEAL離線中