找回密码
 注册
关于网站域名变更的通知
查看: 1027|回复: 2
打印 上一主题 下一主题

时间芯片ds1302 读数据的疑惑

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2013-3-13 10:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
程序如下   for循环中 ,是怎么把数据读出来的,比如刚开始i=0,然后value右移一位,右移了最低位不是丢失了吗?这个判断i0口干嘛用?因为在我想来,我觉得应该是先把value最低位读出来,然后再右移的,这样最低位才不会丢失,我的想法对吗?麻烦各位帮我看看啊
3 I9 ]# a4 J$ A& B! l$ ?# cuchar read_ds1302(uchar add)
6 i. j( H# F! H{, d$ E. c7 S0 l8 {, [
        uchar i,value;
2 ]6 A' [' m# x" u6 J# Z        rst=0;9 D* s1 r% C3 E" T
        delay(5);
; h6 S0 ~8 }8 ?        sck=0;
1 J/ n2 \  B0 _        delay(5);5 l: w0 T0 }# F: ~* B
        rst=1;) m% Z6 P6 s8 V
        delay(5);
# {  X( x& ]5 q& v9 X3 n        write_ds1302_byte(add);
3 r) e) Z4 g0 M& x) N( o        for(i=0;i<8;i++)
8 Y/ X2 |, i; Q0 c2 u        {9 ~- W& d/ a. s9 R: H* ^! n3 w
                value=value>>1;
7 N* Q: O  \" x6 ?                sck=0;
& _+ u0 B2 `. Y+ |5 c; D, }                if(i0)0 X) y( j7 a! D6 Q  G
                value=value|0x80;2 c& y+ B) _: s# ]& [
                sck=1;0 c) P/ [2 v/ ~3 |$ h5 b1 z7 h% K6 c
        }
$ Y' b; Q2 h* W' S% ^  S1 \        rst=0;
2 L3 E' ?6 b/ t8 V, v  I' k, w$ R. ~        delay(5);
1 L9 O& ?- [/ t" I        sck=0;3 K4 l) P# E8 o6 }' H
        delay(5);
# P/ g6 h% }( d- {. j( K        sck=1;
2 x: f' P1 C9 q0 g# c6 B7 C; N( y        i0=1;" X. _9 g* m3 A& D9 b9 l' G
        return value;" `, ~7 b* |( Z. \- A7 a
                0 L& b! b, @# \4 @+ V" `
}

该用户从未签到

2#
 楼主| 发表于 2013-3-13 21:49 | 只看该作者
。。。。。。怎么没人啊?路过的留个脚印啊

该用户从未签到

3#
发表于 2013-3-13 22:09 | 只看该作者
DS1302先发送是低位,value右移丢掉的最低位是没有用的。判断IO的作用是取DS1302输出的当前bit的值。你单步跟踪调试一下,很简单的程序。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 13:09 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表