大家看下,这个程序是不是有点小错误?

2019-03-24 19:24发布

我是看天狼星视频的,下面的也是它的代码 /**************ds1302写入一个字节函数 从低位开始写************/
void write_ds1302_byte(uchar date)
{
        uchar i;
       for(i=0;i<8;i++)
       {
           sck=0;
          io=date&0x01; //将数据准备好 ,通过io口传输数据
          date>>=1;
         sck=1; //将时钟线拉高后,通过io线将数据送出,一位一位送走
      }
}
里面io是通过位定义而定义的,照理来说应该只是一个位而已啊,但是io=date&0x01,不是一个字节么?这不对吧??? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
常见泽1
1楼-- · 2019-03-24 23:33
bushi 不是取date的最低一位么 这个
liaoyijiaren
2楼-- · 2019-03-25 02:37
 精彩回答 2  元偷偷看……
liaoyijiaren
3楼-- · 2019-03-25 03:35
字节给位赋值,只要字节中有一个不为0,位值为1,  字节全为0则位为0
MrKingMCU
4楼-- · 2019-03-25 09:24
io=date&0x01; //将数据准备好 ,通过io口传输数据
不就是取date的低四位么?还是一个字节,取高四位就是io=date&0x10;
Learner_new
5楼-- · 2019-03-25 10:29
是取date 的最低位  可是io是位定义  与出来是00000001   默认就是1 吗
Learner_new
6楼-- · 2019-03-25 13:28
取最低位吧

一周热门 更多>