DS1302有关问题求指教

2019-03-24 19:36发布

在定入单字节中为什么是for(i=0;i<8;i++)
        {
        sck=0;
        sda=dat&0x01;//取出dat的第0位数据写入1302 数据由低位开始传
        dat=dat>>1;
        sck=1;
        }这个时候的SDA是怎么样放的,为什么是与上0X01呢?而读出单字节的for(i=0;i<8;i++)
        {
                value=value>>1;
                sck=0;
                if(sda)
                value=value|0x80; //将1取出,写在dat的最高位
                sck=1;
        }这里又是为什么呀?写入读出后的SDA是高位到低位还是低位到高位,

求个详细的解释呀,,,,越细越好呀 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
9条回答
孤獨の快樂
2019-03-26 05:31

if(sda)
value=value|0x80;

 

sda为1时,最高位置1,sda为0时,最高位0不变。

知道怎么读数据了的吧

写是从value数据按位取出给sda,读是sda数据按位保存在value

[ 本帖最后由 孤獨の快樂 于 2011-11-15 18:49 编辑 ]

一周热门 更多>