看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《kg3363 (深藍)》之銘言: : 想再請問一下~以下程式碼的意思是?? : if ( Byte&0x80 ) : { : digitalWrite ( MOSI, 1 ) ; : } : else : { : digitalWrite ( MOSI, 0 ) ; : } 看到 & 不要想成"和" 要想成"且" (中文比英文精確) 0x80 二進制為 1000 0000 意為:Byte這變量(想成二進制) 與 1000 0000 "且"運算後 還有位不是零 if才成立 簡單講 Byte這變量的第 8位要是 1 , if才會成真 所以原代碼可以寫成 digitalWrite ( MOSI, Byte>>7 ); : 是代表"Byte"和"0x80"做甚麼關係阿?? : 怎解釋比較通順阿?? : 另外 Byte |= 1 ;又該怎解釋阿?? Byte的第一位 強迫為 1 (xxxx xxx1) 但其他位不動 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 223.142.96.159 ※ 編輯: Damaged 來自: 223.142.96.159 (02/23 10:56)
uranusjr:我記得我 n 年前有寫過一篇文章解釋這個東西XD 02/23 15:31
kikiqqp:寫單晶片天天都在用 orz 02/24 01:48