熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
跟if語(yǔ)句沒(méi)關(guān)系,只同位運(yùn)算有關(guān),再補(bǔ)補(bǔ)課應(yīng)該能整明白 |
if (dat&0x80),這條語(yǔ)句永遠(yuǎn)為真,因?yàn)椴徽揹at是什么值,&0x80后都不可能為0,所以else永遠(yuǎn)不會(huì)被執(zhí)行 if ((dat&0x80)==0x80) ,是判斷dat&0x80后,是否與0x80相等作為if判斷執(zhí)行條件,當(dāng)dat=0或0x80,判斷為真,執(zhí)行P1=1; 其它值均執(zhí)行else,P1=0 |
條件判斷是二值判斷 |
if (dat&0x80) &0x80判斷是否為真,if ((dat&0x80)==0x80) 先&0x80的結(jié)果再判斷等于 0x80不 |
判斷式邏輯錯(cuò)誤,因?yàn)閕f (dat&0x80==0x80)中括號(hào)內(nèi)的運(yùn)算結(jié)果是0x00為假 而if (dat&0x80)括號(hào)內(nèi)的運(yùn)算結(jié)果是0x80,為真 這是因?yàn)?=的優(yōu)先級(jí)比&高,正確的邏輯是if ((dat&0x80)==0x80) |
Powered by 單片機(jī)教程網(wǎng)