之前用51驱动过DS1302,没用多久就输出了正确的时间.当时以为这块芯片其实没啥,很简单.但是现在用STM32做项目,用到同样的芯片,以为这有何难,只要把那个程序拿过来复制黏贴改一下IO设置不就行了?但是事情远没有想想的那么简单. 经过3天的挣扎,现在才知道当时自己是多么天真. 关于DS1302的基本操作可以看这里:http://www.cnblogs.com/qsyll0916/p/7712695.html 好了,废话少说了,进入正题. 首先DS1302读写方式属于3线SPI.CE.SCK.…
天时可以自动调整,且具有闰年补偿功能.工作电压宽达2.5-5.5V.采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力.DS1302的外部引脚分配如下图所示.DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此广泛应用于测量系统中 各引脚的功能为: Vcc1:主电源: Vcc2:备份电源.当Vcc2>Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2< Vcc1时,由Vcc1向…
[蓝桥杯单片机12]实时时钟DS1302的基本操作 广东职业技术学院 欧浩源 实时时钟DS1302几乎是蓝桥杯“单片机设计与开发”每年必考的内容,虽然在竞赛现场有提供一个底层读写寄存器的库文件,但是作为备赛阶段,你应该搞清楚底层读写时序的代码实现.你会使用库文件开发,不一定会自己写底层:你会自己写驱动,就一定会使用库文件开发.你使用库文件开发的过程中碰到问题,或者需要调整时序的时候,如果没有过硬的功夫,那只能懵逼了. 1.什么是DS1302?      DS1302是美国DALLAS公司推出的高…
目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(三): 基于FwLib_STC8的模数转换ADC介绍和演示用例说明 STC8H开发(四): FwLib_STC8 封装库的介绍和使用注意事项 STC8H开发(五): SPI驱动nRF24L01无线模块 STC8H开发(六): SPI驱动ADXL345三轴加速度检测模块 STC8H开发(七…
stm32——RTC实时时钟 一.关于时间 2038年问题 在计算机应用上,2038年问题可能会导致某些软件在2038年无法正常工作.所有使用UNIX时间表示时间的程序都将将受其影响,因为它们以自1970年1月1日经过的秒数(忽略闰秒)来表示时间.这种时间表示法在类Unix(Unix-like)操作系统上是一个标准,并会影响以其C编程语言开发给其他大部份操作系统使用的软件. 在大部份的32位操作系统上,此“time_t”数据模式使用一个有正负号的32位元整数(signedint32)存储计算的秒…
转自:http://blog.csdn.net/yaozhenguo2006/article/details/6820218 这个是linux内核文档关于rtc实时时钟部分的说明,此文档主要描述了rtc实时时钟的作用和编程接口,分别介绍了老的rtc接口和新的rtc类架构.并给出了一个测试rtc驱动的程序.     linux 实时时钟(RTC)驱动                                                                         翻译…
RTC(Real-Time Clock)实时时钟为操作系统提供了一个可靠的时间,并且在断电的情况下,RTC实时时钟也可以通过电池供电,一直运行下去. RTC通过STRB/LDRB这两个ARM指令向CPU传送8位数据(BCD码).数据包括秒,分,小时,日期,天,月和年.RTC实时时钟依靠一个外部的32.768Khz的石英晶体,产生周期性的脉冲信号.每一个信号到来时,计数器就加1,通过这种方式,完成计时功能. RTC实时时钟有如下一些特性: 1,BCD数据:这些数据包括秒.分.小时.日期..星期几.…
STM32的实时时钟是一个独立的定时器 通常会在后备区域供电端加一个纽扣电池,当主电源没有电的时,RTC不会停止工作 若VDD电源有效,RTC可以触发秒中断.溢出中断和闹钟中断 备份寄存器BKP 备份寄存器是42个16位的寄存器,他们处在备份域里,当VDD电源被切断,他们仍然由VBAT维持供电.当系统在待机模式下被唤醒或系统复位或电源复位时,他们也不会被复位 RTC配置步骤 1.使能电源时钟和后备区域时钟 2.取消后备区域的写保护,DBP 3.复位备份区域 4.外部低速振荡器使能,LSE 5.R…
今天我们来讨论一款老掉牙的实时时钟芯片DS1302.什么是实时时钟(RealTime Clock, RTC)呢?为什么我们需要它呢?假设你使用单片机实现万年历应用,一般的做法是这样的:设置中断后判断1秒是否到来,如果到来就将秒数加1,然后再考虑一些进位处理,例如,每60秒则分钟加1,每60分则小时加1, 24小时或12小时制也要区分对待,每12个月则年加1,还要考虑闰月闰年.虽然考虑的事情好像有些多,但是在资讯非常发达的今天,从网络上搜索出现成的代码也绝不是难事. 当然,利用代码来实现这些算法并…
目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(三): 基于FwLib_STC8的模数转换ADC介绍和演示用例说明 STC8H开发(四): FwLib_STC8 封装库的介绍和使用注意事项 STC8H开发(五): SPI驱动nRF24L01无线模块 STC8H开发(六): SPI驱动ADXL345三轴加速度检测模块 STC8H开发(七…