发 帖  
经验: 积分:27
学生 沈阳工业大学
辽宁省 辽阳市 学术研究/学生
  • 发布了问题 2025-11-13 16:48

    2

    学生 沈阳工业大学
    各位电子圈的朋友,最近用STM32F405RGT6驱动DS1302实时时钟模块时,遇到了时间显示错乱的问题:输出的时间会出现“2055-55-55 55:55:55”这类明显异常的数值,想和大家交流下排查方向。 目前的情况: 硬件接线:CE接 ...
    来源:STM32/STM8技术论坛 标签: 时钟
  • 点评了帖子 2025-11-13 16:43

    1

    嵌入式软件工程师 广州睿海海洋科技有限公司
    你好,从代码和输出的时间格式来看,这个错乱问题大概率出在数据读写的位序/格式匹配和初始化时序上,分享两个排查方向: 1. 数据格式与位序问题 DS1302是BCD码存储时间(比如“年”存的是0x25而不是十进制25),如果代码里直接把读取到的字节转成十进制输出,就会出现“2055”(0x55转十进制)这类异常值。建议加BCD转十进制的函数 2. 初始化与时序延迟 DS1302的CE、SCLK引脚初始化后,建议在读写前加1-2us的延迟(STM32主频高,可能时序过快导致通信错误)。另外检查 DS1302_CE_PIN 的电平切换逻辑:读写时CE必须先置高,完成后再置低。
  • 回答了问题 2025-11-13 16:40

    1

    嵌入式软件工程师 广州睿海海洋科技有限公司
    "你好,从代码和输出的时间格式来看,这个错乱问题大概率出在数据读写的位序/格式匹配和初始化时序上,分享两个排查方向: 1. 数据格式与位序问题 DS1302是BCD码存储时间(比如“年”存的是0x25而不是十进制25),如 ..."
  • 关注了版块 2025-11-13 16:35

    STM32/STM8技术论坛

    154156 人关注
  • 关注了版块 2025-11-13 16:34

    ARM技术论坛

    71812 人关注
ta 的专栏

谁来看过他

关闭

站长推荐 上一条 /9 下一条

返回顶部