条件语句if(DO) , C语言,if 内不是要判断的吗? DO输入数据没有判断条件,怎么往下执行?
为什么temp 要进行或运算否则与运算存储后在左移循环8次成为一个字节呢?
for(i=0;i<8;i++)
{
DI=1;
if(DO) //DO从高位DATA7输出到DATA0,共8位.
{
temp=(temp|0x01); //与1或运算
}
else
{
temp=(temp&0xfe); //与0与运算
}
clk=0;
_nop_();
clk=1;
temp=temp<<1;
}
adval=temp;
DO如果是个数值,那么它为0,就表示条件为false,否则为true
或上0x01,是为了将temp的最低位设置为1
左移一位,相当于temp乘以2