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

时间芯片ds1302 读数据的疑惑

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
程序如下   for循环中 ,是怎么把数据读出来的,比如刚开始i=0,然后value右移一位,右移了最低位不是丢失了吗?这个判断i0口干嘛用?因为在我想来,我觉得应该是先把value最低位读出来,然后再右移的,这样最低位才不会丢失,我的想法对吗?麻烦各位帮我看看啊. G) ?- c  T0 Q7 `
uchar read_ds1302(uchar add)0 Z+ B; k5 ^2 ~! \" _
{* q; p1 X9 \3 O; n8 `
        uchar i,value;0 m1 B/ |: C8 F
        rst=0;
6 }) [$ T+ S7 L& M        delay(5);0 v% L" ?; U8 l. B6 M
        sck=0;2 {: ^- n; l1 Z0 ~' `2 {" D; b
        delay(5);
: ~7 y) v* ]$ V# X& u+ @        rst=1;: P( \; v6 [/ I4 G! f* {
        delay(5);
, t3 J" ]* [* h3 w7 N" e- |) c        write_ds1302_byte(add);
4 V4 V  p* P: V2 a) s. p3 E        for(i=0;i<8;i++)$ H9 d+ O% a' ~5 i" d7 @
        {# v  q$ W7 P1 z
                value=value>>1;8 D5 U$ K- G; j# V+ k! Q
                sck=0;. K) E- Y9 c4 d3 i
                if(i0)
; B2 h5 ~7 W+ ]" T                value=value|0x80;
" a6 r9 X1 A! Y6 t; u                sck=1;/ M, f$ M/ `/ |
        }
* t- C) M! l5 Y" G" W4 Q7 m6 z0 M: `        rst=0;
) r3 O9 L6 @& G/ N2 D  i$ ~        delay(5);
- T& I% X0 n! Y; i4 }        sck=0;
3 y8 e3 h) X8 O% b  `5 R        delay(5);# }1 Z& T9 d' d
        sck=1;
% i9 a/ l( C& Y; V        i0=1;4 q3 u" \$ _6 _. o+ R3 B+ Z) H
        return value;9 b( l$ g' d! K! i1 l
               
: S+ B9 s4 u  O}

该用户从未签到

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 17:48 , Processed in 0.156250 second(s), 23 queries , Gzip On.

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

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

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