在 DQ = 0,之后,DQ 就是输入端了。如果这时 DQ = 1 了,就在 dat 的最高位加一,就是:dat|=0x80。最先收到的位,是数据的最低位,所以要逐步的向低位移动,就是:dat>>=1。
是DQ拉低一次ds1820 8位全给?还是拉低一次给一位?是拉低一次给一位dat是在哪里被改成ds18b20的数据呢?在这里if(DQ) dat|=0x80;以及每次都要dat>>=1;dat|=0x80 这是为什么呢?一位一位的传 从最高位开始。
拉低一次给一位。