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

时间芯片ds1302 读数据的疑惑

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
程序如下   for循环中 ,是怎么把数据读出来的,比如刚开始i=0,然后value右移一位,右移了最低位不是丢失了吗?这个判断i0口干嘛用?因为在我想来,我觉得应该是先把value最低位读出来,然后再右移的,这样最低位才不会丢失,我的想法对吗?麻烦各位帮我看看啊
9 C9 u4 ]/ b6 u: x/ j& Guchar read_ds1302(uchar add)8 w1 o5 V! |9 R! g# l6 r
{
% `& l  W( H$ q0 A, y$ ~        uchar i,value;
, P/ V1 a/ @  t" e7 Z  t" A' \        rst=0;
  n. Y/ j8 o" P  D4 e; O        delay(5);
1 o2 m3 d3 z" e# I        sck=0;
6 w, n4 ~, [" g/ G, {) r) u        delay(5);4 l9 N: p  @( A* {0 |
        rst=1;
! i4 s- M' o8 ]! m$ |7 p$ o        delay(5);
" G" M3 _% c* [& K- z        write_ds1302_byte(add);6 ?7 d, U( V: b- i
        for(i=0;i<8;i++)
. P5 u3 h" C, C4 Q# N: h7 e        {( ^; ?% g) v% B- j: U" n7 R' d
                value=value>>1;
2 D& I3 Z0 N' E- x5 ~# j- h                sck=0;3 c8 I* D. p0 O; @; V2 V
                if(i0)
) X' J& b& W3 e) R! F+ K                value=value|0x80;
$ ]) O% k# {  S+ f% |                sck=1;  t2 ]9 |8 S, d) T2 T3 Q& ]
        }7 L  x7 D' a2 _
        rst=0;
+ K& l1 s1 h7 P9 Y0 c8 h2 m4 U        delay(5);
( X8 E/ ^% F7 h1 Y2 c9 P        sck=0;
- w. h; E( E( r3 F0 A        delay(5);5 A5 f: K( E3 `7 }
        sck=1;
/ U7 {+ B0 g$ e5 a# d" d        i0=1;
# e# C" c* l# v' n6 J7 P) ]6 J* q        return value;
, d  O5 h; Q: ^; h9 F' i               
0 P4 A5 @. C) y5 X; ?6 S" w}

该用户从未签到

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-9-10 21:21 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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