在定入单字节中为什么是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是高位到低位还是低位到高位,
求个详细的解释呀,,,,越细越好呀
此帖出自
小平头技术问答
if(sda)
value=value|0x80;
sda为1时,最高位置1,sda为0时,最高位0不变。
知道怎么读数据了的吧
写是从value数据按位取出给sda,读是sda数据按位保存在value
[ 本帖最后由 孤獨の快樂 于 2011-11-15 18:49 编辑 ]一周热门 更多>