智能车制作

标题: DS18B20温度传感器关于写入数据的理解 [打印本页]

作者: 13486662319    时间: 2013-3-5 20:41
标题: DS18B20温度传感器关于写入数据的理解
unsigned char RD18b20(void)
{
    unsigned char k;
    unsigned char tmp=0;
    DSO = 1;  
    delay8us(1);          //准备读;
    for(k=0;k<8;k++)
    {
      tmp >>= 1;                     //先读取低位
      DSO = 0;                  //Read init;
      delay8us(1);                    
      DSO = 1;                      //必须写1,否则读出来的将是不预期的数据;
      asm("nop");asm("nop");asm("nop");                        //延时9us?
      DSDDR=0;
      asm("nop");
      if(DSI)              //在12us处读取数据;
      tmp |= 0x80;
      delay8us(8);
      DSDDR=1;
      DSO = 1;  
      delay8us(1);
        //恢复One Wire Bus;
    }
    return tmp;
}

tmp先移位1位 不是很明白  顺便讲下后面的理解




作者: turf456    时间: 2013-3-5 21:03
先移一位,反正是0。没影响。
如果后移,都读完了还有意义吗?
作者: 穆旦阿斗    时间: 2013-3-5 22:43
凤姐 风采依旧啊




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2