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

时间芯片ds1302 读数据的疑惑

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
程序如下   for循环中 ,是怎么把数据读出来的,比如刚开始i=0,然后value右移一位,右移了最低位不是丢失了吗?这个判断i0口干嘛用?因为在我想来,我觉得应该是先把value最低位读出来,然后再右移的,这样最低位才不会丢失,我的想法对吗?麻烦各位帮我看看啊- d9 j  h4 r( I1 {  c' J
uchar read_ds1302(uchar add)2 y* J- n! c4 u
{
: o: d. C4 l" n4 z' k* D        uchar i,value;5 [( o$ O( d# Q5 d4 x. H
        rst=0;. p2 c8 ]# R9 L+ K( f, v: t
        delay(5);: [) L2 F! f; m# U5 a  A
        sck=0;# w0 B& x' P$ q
        delay(5);
* k2 K$ k2 f! O+ ?6 E1 [! V7 u        rst=1;  y" v1 ~# t2 o0 m
        delay(5);
+ s0 n1 J3 m- c8 b, p9 a6 N' \        write_ds1302_byte(add);: @8 u5 d; ]7 F- z: _; D
        for(i=0;i<8;i++)
% U6 n8 V3 W2 ?. ]        {
$ [1 M  n& w+ m                value=value>>1;1 T( [0 i) E, W
                sck=0;. r0 e8 N) X0 I/ a. Z, Z
                if(i0)& c* e: J% Y  \7 @6 |
                value=value|0x80;. Y; ^- L; H' d, o3 @5 \
                sck=1;$ r% @$ p& D8 W
        }
: }% W' Y/ d: U  c6 A        rst=0;
' X7 E; T0 D9 @        delay(5);
; x5 p; E" p1 z" r' n        sck=0;& T6 w, A. c6 [2 g
        delay(5);
; h3 K7 U- s# L- |, k" n. [        sck=1;/ {2 J  t! t& x5 N( P
        i0=1;
  W$ G/ v: P" J4 h# u! d        return value;
# g% x) }% D0 p* L: U               
8 k7 ]: h5 F: |( N, {3 N/ @7 ?: q}

该用户从未签到

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-10-10 07:43 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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