3135|8

70

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

大家看下,这个程序是不是有点小错误? [复制链接]

我是看天狼星视频的,下面的也是它的代码

/**************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,不是一个字节么?这不对吧???

此帖出自51单片机论坛

最新回复

这样写是可以的,io对应8位端口,但只有一位是有用的,其它七位总是0被费掉了。  详情 回复 发表于 2012-2-25 02:17
点赞 关注
 

回复
举报

7219

帖子

192

TA的资源

五彩晶圆(高级)

沙发
 
bushi 不是取date的最低一位么 这个
此帖出自51单片机论坛
 
 
 

回复

19

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
字节给位赋值,只要字节口为一个不为0,位值为1,  字节全为0则位为0
此帖出自51单片机论坛
 
 
 

回复

19

帖子

0

TA的资源

一粒金砂(中级)

4
 
字节给位赋值,只要字节中有一个不为0,位值为1,  字节全为0则位为0
此帖出自51单片机论坛
 
 
 

回复

977

帖子

4

TA的资源

纯净的硅(中级)

5
 
io=date&0x01; //将数据准备好 ,通过io口传输数据
不就是取date的低四位么?还是一个字节,取高四位就是io=date&0x10;
此帖出自51单片机论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(高级)

6
 

回复 沙发 常见泽1 的帖子

是取date 的最低位  可是io是位定义  与出来是00000001   默认就是1 吗
此帖出自51单片机论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(高级)

7
 

回复 5楼 MrKingMCU 的帖子

取最低位吧
此帖出自51单片机论坛
 
 
 

回复

535

帖子

0

TA的资源

五彩晶圆(初级)

8
 

回复 7楼 Learner_new 的帖子

首先我想说的是一个io可以赋值0或1,这个是肯定。。。。那么赋值为0x01或者0x00就是可以的
此帖出自51单片机论坛
 
 
 

回复

4008

帖子

0

TA的资源

版主

9
 
这样写是可以的,io对应8位端口,但只有一位是有用的,其它七位总是0被费掉了。
此帖出自51单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表