物联网实战–驱动篇之(七)RTC时钟(DS1302) 一、RTC简介 实时时钟,简称RTC,这个在STM32的外设里也有,不过STM32F1系列的RTC实际上只有一个计数器功能,如果需要年月日要自己写软件计算 ,比较麻烦,这时候就可以使用带有年月日的RTC芯片了,常用的有DS1302,可以自己计算闰年,具体资料可以看这里。DS1302Z_(JSMSEMI(杰盛微))DS1302Z中文资料_价格_PDF手册-立创电子商城
二、DS1302介绍 主要是看下DS1302的通讯方式和寄存器,它的通讯方式有点类似于IIC,也是时钟线+数据线,不过还多了个复位(片选)线,时序也是不一样的,没有IIC那么多信号。寄存器看下图:
其中年份是00~99,也就是2000~2099年了,数据格式是BCD码。 下面先从头文件开始:
主要定义了时间结构体、引脚结构体和IO相关函数,寄存器的地址根据手册定义。 三、初始化 首先初始化时钟、数据和复位3个引脚,其中数据脚有时候需要作为输入,具体代码如下:. 如果时钟没断电过就不用再次启动了。 四、字节读写 下面是最基本的字节读写函数,时序具体参考手册。 每次读写复位脚都要拉高才能进行,数据是低位先传输。 五、功能函数 有了基本的读写函数后,就可以根据寄存器地址进行功能设置了。比如下面的启动和停止:
时间格式设置:
时间设置: 时间读取: 设置类的都要先解锁写保护才能进行相应操作。 整体来讲,DS1302用起来不复杂,时序有搞清楚,寄存器弄对来就没问题了。 代码链接:https://download.csdn.net/download/ypp/ 本项目的交流sigusoft群:
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/87937.html