关于DS1302数据传送问题,可能有点小白,真心求教
时间:10-02
整理:3721RD
点击:
DS1302,有个IO引脚用于数据传送,在传送时先要按时序写入地址,而IO连的是单片机的某一位,而地址例如81H是8位,通过移位传输地址时有点疑惑。
与IO引脚相连的单片机端口加入是P10,那么P10每次只能传输1位,所以将81H向右循环移位来读取吗?也就是说P10读到的始终是传来数据的最低位吗?(不知道我这样理解是不是正确,希望指点下)
如果我上面的理解是对的话,那么我看到的这段代码怎么理解。
void Write_A_Byte_TO_DS1302(INT8U x)//向DS1302写入一个字节
{
INT8U i;
for(i=0x01;i !=0x00;i<<=1)
{IO=x & i ;SCLK =1; SCLK=0;} //感觉IO=x&i;这一句还有i<<=1;与我上面的理解不一致。但,其他人写的代码我基本能看懂
}
与IO引脚相连的单片机端口加入是P10,那么P10每次只能传输1位,所以将81H向右循环移位来读取吗?也就是说P10读到的始终是传来数据的最低位吗?(不知道我这样理解是不是正确,希望指点下)
如果我上面的理解是对的话,那么我看到的这段代码怎么理解。
void Write_A_Byte_TO_DS1302(INT8U x)//向DS1302写入一个字节
{
INT8U i;
for(i=0x01;i !=0x00;i<<=1)
{IO=x & i ;SCLK =1; SCLK=0;} //感觉IO=x&i;这一句还有i<<=1;与我上面的理解不一致。但,其他人写的代码我基本能看懂
}
自己顶下,求一个会单片机牛的老师。
自挽下...
进来的都回答一下吧。在线等
有人吗....?