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

调整DS1302的时间

[复制链接]
  • TA的每日心情
    开心
    2022-1-29 15:04
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2023-1-30 15:53 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

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

    x
    为什么我调整DS1302的时间不立即更新,要断电重启才显示更新的值。
    + p: V; u: B* c4 W+ D$ D% c; G1 R# Q0 }* H
  • TA的每日心情
    开心
    2022-1-29 15:04
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2023-1-30 16:53 | 只看该作者
    这和你的程序有关。

    该用户从未签到

    3#
    发表于 2023-1-30 16:58 | 只看该作者
    以下是我的写入和更新代码,能写入就没问题,如果没写入,检查看是否释放了写保护,我这代码是十进制直接转16进制后写入分钟增1和秒钟清零的。% s8 d* p' g% a) P
    & N/ h& ?$ Z- Y: ^

    该用户从未签到

    4#
    发表于 2023-1-30 17:03 | 只看该作者
    这是我的代码,你参考 一下:: G& t% J5 W+ e+ E4 k8 L  j
       if(!key1)           //时加量键
    - D; p$ U; x, P1 Q- n        {; w1 P% |; g6 g. k4 j, Z
              Delay20ms();
    8 E% ?0 q+ L- G2 ]1 ~9 a          if(!key1)
    ; F: e) o, {6 `* g6 m7 ?; Z          {
    , @4 T6 W" O: D1 `           while(!key1);( ~* _3 I# l1 N/ N7 Z" O0 v# i  S
               beep_on(200);7 R6 V0 W" B5 U2 W) P0 o$ d
               hour=RTC_read_ram(0x85); //读小时值
    - t% j1 f! w/ x, `           hour=hour/16*10+hour%16;        //BCD转10进制$ Z2 y- f9 C$ h
               if(++hour>23)hour=0;           //增量溢出则置0
    * d- G* O4 @4 L           t_bcd=hour/10<<4|hour%10        ;  //10进制转BCD9 R+ Z$ c9 I2 W) F9 p* G- y
               RTC_write_data(0x8e,0x00);  //1302写使能! {  n1 s& x* Q) X0 m9 d" k
               RTC_write_data(0x84,t_bcd); //写入新小时值
    / m8 L, P- C1 d% O* H8 N3 s( \           RTC_write_data(0x8e,0x80);  //1302写失能
    ; N* Q0 s0 o/ m8 T5 G5 U3 u5 b           key_time_out=5;
    8 t: @' y9 s9 L! w. Q          }! F+ H6 x( U- ~/ [0 Z: X1 m
            }
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-10-5 12:35 , Processed in 0.156250 second(s), 26 queries , Gzip On.

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

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

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