代码段1:
static int8u DS1302_ReadByte(void)
{
int8u i;
gBit7 = SDA; //因为写命令之后已将SCL拉成低电平;
//数据在时钟的下降沿发出;
gBitDat >>= 1;
for(i=0;i<6;i++) //六次取数;
{
SCL = 1;
SCL = 0;
gBit7 = SDA;
gBitDat >>= 1;
}
//取最后一个bit;
SCL = 1;
SCL = 0;
gBit7 = SDA;
return gBitDat;
}
代码段2:
static int8u DS1302_ReadByte(void)
{
int8u i;
for(i=0;i<8;i++) //8次取数;
{
gBitDat >>= 1;
gBit7 = SDA;
SCL = 1;
_nop_();
SCL = 0;
}
return gBitDat;
}
:: 两段几乎一样的代码,为什么代码段1编译成了之后却不能运行 ?
——待证中……
文章评论(0条评论)
登录后参与讨论