当时钟线DS1302_IO上的数据为0时 不进行上面的“或”操作 dat=0000 00xx XX是前两次循环操作后的结果(可能为0也可能为1)其余的0是 dat的某一位的初始状态,不对其进行“或”操作,该位仍保持为0 可见,第三次循环读取了串行线上的第3位数据,第四次循环读取了串行线上的第4位数据......
首先DS1302是从低位开始传送的。意思就是说,如果addr的值是10001001,首先要传送的是低位的1,也就是1000100(1)括号里面的这个。怎么样才能把括号里面的数传出去呢,首先就要把其它位置0,也是就是变成0000000(1),这样就把这个1先传给DSIO了,所以用到 addr&0x01.目的是,如果addr最低位是1,...