发 帖  
[问答]

stm32f405rgt6驱动DS1302ZN出现时间错乱问题

4208 单片机 STM32F405RGT6
奖励7积分
2025-11-13 14:29:33   1 评论 分享淘帖 邀请回答
1 条评论
  • 2025-11-13 16:43

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

1个回答
2025-11-13 16:40:07 评论

举报

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

您需要登录后才可以回帖 登录/注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
快速回复 返回顶部 返回列表
关注微信公众号

电子发烧友网

电子发烧友论坛

社区合作
刘勇
联系电话:15994832713
邮箱地址:liuyong@huaqiu.com
社区管理
elecfans短短
微信:elecfans_666
邮箱:users@huaqiu.com
关闭

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

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