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

时间芯片ds1302 读数据的疑惑

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
程序如下   for循环中 ,是怎么把数据读出来的,比如刚开始i=0,然后value右移一位,右移了最低位不是丢失了吗?这个判断i0口干嘛用?因为在我想来,我觉得应该是先把value最低位读出来,然后再右移的,这样最低位才不会丢失,我的想法对吗?麻烦各位帮我看看啊9 j, E# j' a7 j" E( B6 C
uchar read_ds1302(uchar add)  i& J  M/ {  J1 d
{3 t+ u/ U; ]8 y# w' g0 \
        uchar i,value;) y, q% v( ?# `6 d, z
        rst=0;
' U4 o3 M& L6 ]) t        delay(5);; }8 J3 ^* |/ d& }
        sck=0;
, l% ]4 o2 Y5 @$ D& G, ]+ o5 }$ f  F        delay(5);
- G8 W: n) j0 X  F; p" S        rst=1;
, Z" j# N% n; z; O& I        delay(5);, c$ N- x6 I1 X5 F
        write_ds1302_byte(add);
8 w  h$ y- x1 A3 D- l. Q8 w' R        for(i=0;i<8;i++)
  _/ F& K1 N& g; ~4 N        {: X/ D' |  L+ q/ S: Q
                value=value>>1;
' Z- ~& w) d+ h: N! w  E$ Y                sck=0;& I5 t# z1 @' G+ [* s; M7 v
                if(i0)
; s7 r6 v7 N' H: V# t                value=value|0x80;
5 `( [& A4 e  j1 U4 a                sck=1;
6 n- l' g$ i- u% g* r1 d9 U        }( H7 y6 ]# W) v) ^, Z
        rst=0;# x8 s9 `+ l# f; S; _" d9 x3 ]
        delay(5);
6 p+ b5 R% k4 }( P        sck=0;2 A- n) x- e/ [/ c
        delay(5);
  @! _1 S3 W- [! U' E" Z# j        sck=1;  ^3 {4 k+ t+ t) P% Z/ q, \0 M+ I
        i0=1;
' s& D( H3 w: `: e0 i- ?        return value;
4 ?5 R  h. F+ ]1 H  U# o               
' V$ t$ i. [3 b: m}

该用户从未签到

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

该用户从未签到

2#
 楼主| 发表于 2013-3-13 21:49 | 只看该作者
。。。。。。怎么没人啊?路过的留个脚印啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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