关于程序问题
时间:10-02
整理:3721RD
点击:
void Ds18b20WriteByte(unsigned char dat)
{
unsigned int i,j;
EA = 0;
for(j=0;j<8;j++)
{
DSPORT=0;
i++;
DSPORT=dat&0x01;
i=6;
while(i--);
DSPORT=1;
dat>>=1;
}
EA = 1;
}
刚刚接触单片机,有点看不懂程序中的这一句DSPORT=dat&0x01;是什么意思? 然后dat>>=1;为什么dat要移一位?
{
unsigned int i,j;
EA = 0;
for(j=0;j<8;j++)
{
DSPORT=0;
i++;
DSPORT=dat&0x01;
i=6;
while(i--);
DSPORT=1;
dat>>=1;
}
EA = 1;
}
刚刚接触单片机,有点看不懂程序中的这一句DSPORT=dat&0x01;是什么意思? 然后dat>>=1;为什么dat要移一位?
DSPORT=dat&0x01;
把DSPORT的最低位与dat位相同,其他位全置0
dat>>=1
这一句是dat=dat>>1;
相当于dat除2
