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

时间芯片ds1302 读数据的疑惑

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
程序如下   for循环中 ,是怎么把数据读出来的,比如刚开始i=0,然后value右移一位,右移了最低位不是丢失了吗?这个判断i0口干嘛用?因为在我想来,我觉得应该是先把value最低位读出来,然后再右移的,这样最低位才不会丢失,我的想法对吗?麻烦各位帮我看看啊- b% H4 s9 _" M& n3 B7 f
uchar read_ds1302(uchar add)
; f( l  E; c7 ]4 v7 u{# p$ S7 H  i% P8 H8 `
        uchar i,value;6 q6 d3 e7 t# X4 n
        rst=0;5 M( }- u3 p* J2 y0 J0 I
        delay(5);# r! ?8 R0 h1 ?; a- \* r
        sck=0;
! q8 a( r& w/ \: x4 }* @        delay(5);
8 d  V) v& `5 r- [! O7 k" `        rst=1;
' {8 U6 T" ^9 y2 A# s        delay(5);
+ k. t* S, h: A1 A0 E        write_ds1302_byte(add);
9 k4 r) ~' g7 h$ G& V" N6 g        for(i=0;i<8;i++)7 |8 ~1 l+ S  ?8 Z6 \$ U4 c
        {
! m. J- }' q) x  ?                value=value>>1;
6 x' q1 w" [" T) x                sck=0;% [# O, c' o8 O# r/ f( S  Y* |  C
                if(i0)
$ |& z8 |- S/ C  G* c                value=value|0x80;% Y+ z5 l: t* v! H( d6 C
                sck=1;
- k0 @. A3 g3 {. W* Y        }# F7 b$ Z6 c( u. [
        rst=0;. P6 Z7 }8 i8 A! G2 J
        delay(5);% g! B& o3 ~2 s/ m) B0 [
        sck=0;' t" P' l0 d1 ^- P4 f% Y
        delay(5);
& Q' W4 O- A+ l4 o8 b! j+ S        sck=1;. w* F$ |7 Z; T( h- _
        i0=1;1 V6 X+ U4 ^  r. i2 [' e" d
        return value;+ ^2 N3 {" z7 F
                ! Z3 Q7 n& _, w; U
}

该用户从未签到

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-7-28 09:30 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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