历史上的今天
返回首页

历史上的今天

今天是:2024年09月03日(星期二)

正在发生

2019年09月03日 | RTC--日期必须重启才更新问题

2019-09-03 来源:eefocus

芯片:STM32F030C8T6


问题:RTC设置时间,时间可正常设置,日期需要重启才能设置成功


相关代码:


/************************************************


函数名称 : RTC_GetDateTime


功    能 : 读取RTC日期时间(含日历、星期)


参    数 : RTC_DateTimeStructure -- RTC结构体


返 回 值 : 


*************************************************/


void RTC_GetDateTime(RTC_DateTimeTypeDef *RTC_DateTimeStructure)


{


  RTC_DateTypeDef RTC_DateStructure;


  RTC_TimeTypeDef RTC_TimeStructure;


 


  RTC_GetDate(RTC_Format_BIN, &RTC_DateStructure);


  RTC_GetTime(RTC_Format_BIN, &RTC_TimeStructure);


 


  RTC_DateTimeStructure->Year = RTC_DateStructure.RTC_Year;


  RTC_DateTimeStructure->Month = RTC_DateStructure.RTC_Month;


  RTC_DateTimeStructure->Date = RTC_DateStructure.RTC_Date;


  RTC_DateTimeStructure->Week = RTC_DateStructure.RTC_WeekDay;


  RTC_DateTimeStructure->Hour = RTC_TimeStructure.RTC_Hours;


  RTC_DateTimeStructure->Minute = RTC_TimeStructure.RTC_Minutes;


  RTC_DateTimeStructure->Second = RTC_TimeStructure.RTC_Seconds;


}


设置RTC、时间(时分秒)正常更新了,可是日期(年月日)却未更新、重启后日期才更新。


解决:


@note You must call HAL_RTC_GetDate() after HAL_RTC_GetTime() to unlock the values ,在HAL_RTC_GetDate


也就是说必须先 获取时间 再获取日期,才能正常更新时间。


 


更改后:


void RTC_GetDateTime(RTC_DateTimeTypeDef *RTC_DateTimeStructure)


{


  RTC_DateTypeDef RTC_DateStructure;


  RTC_TimeTypeDef RTC_TimeStructure;


 


  RTC_GetTime(RTC_Format_BIN, &RTC_TimeStructure);


  RTC_GetDate(RTC_Format_BIN, &RTC_DateStructure);


 


  RTC_DateTimeStructure->Year = RTC_DateStructure.RTC_Year;


  RTC_DateTimeStructure->Month = RTC_DateStructure.RTC_Month;


  RTC_DateTimeStructure->Date = RTC_DateStructure.RTC_Date;


  RTC_DateTimeStructure->Week = RTC_DateStructure.RTC_WeekDay;


  RTC_DateTimeStructure->Hour = RTC_TimeStructure.RTC_Hours;


  RTC_DateTimeStructure->Minute = RTC_TimeStructure.RTC_Minutes;


  RTC_DateTimeStructure->Second = RTC_TimeStructure.RTC_Seconds;


}


推荐阅读

史海拾趣

Datatronic公司的发展小趣事

随着市场竞争的加剧,Datatronic公司意识到单纯依靠技术创新已不足以保持竞争优势。于是,公司开始调整市场策略,注重与客户的沟通和合作。通过深入了解客户需求,公司能够提供更符合市场需求的定制化产品和服务。同时,公司还加强了与上下游企业的合作,形成了稳定的供应链体系。

Crameda Intersys公司的发展小趣事

作为一家有社会责任感的企业,Crameda Intersys公司不仅关注自身的经济效益,还积极履行社会责任。公司积极参与公益事业,支持教育、环保等领域的发展。同时,公司还注重环保和可持续发展,通过采用环保材料和节能技术,降低生产过程中的能耗和排放。这些举措不仅提升了公司的社会形象,也为社会的可持续发展做出了积极贡献。

这五个故事只是Crameda Intersys公司发展历程中的一部分,但它们足以展现出公司在电子行业中的成长轨迹和不懈追求。在未来的发展中,Crameda Intersys公司将继续以技术创新为引领,积极拓展市场渠道,培养更多优秀人才,加强质量管理和社会责任履行,为电子行业的发展贡献更多的力量。

Cystech公司的发展小趣事

为了进一步拓展全球市场,C-TECH Co., Ltd在2009年相继成立了香港分公司和中国(深圳)分公司。通过这两家分公司,公司能够更好地了解当地市场需求,提供更加贴近客户的服务。同时,公司还积极参加国际电子展会,与国际同行交流合作,不断提升自身的品牌影响力和市场竞争力。在国际化战略的推动下,C-TECH Co., Ltd的海外市场不断拓展,为公司的发展注入了新的动力。

Gardner Denver公司的发展小趣事

为了进一步拓展全球市场,C-TECH Co., Ltd在2009年相继成立了香港分公司和中国(深圳)分公司。通过这两家分公司,公司能够更好地了解当地市场需求,提供更加贴近客户的服务。同时,公司还积极参加国际电子展会,与国际同行交流合作,不断提升自身的品牌影响力和市场竞争力。在国际化战略的推动下,C-TECH Co., Ltd的海外市场不断拓展,为公司的发展注入了新的动力。

Dicon Fiberoptics Inc公司的发展小趣事

为了进一步扩大市场份额和提升品牌影响力,DiCon积极开展国际合作与全球布局。公司与多家国际知名企业建立了战略合作关系,共同研发和推广光纤通信技术。同时,DiCon还在全球范围内设立了多个研发中心和销售分支机构,以便更好地服务当地客户和市场。

HANA Micron公司的发展小趣事

Hama公司成立于1923年,最初在德勒斯登作为一家个人作坊起家,专门批发摄影设备及制造实验室和录音设备。随着电子技术的兴起,Hama敏锐地捕捉到市场变化,开始逐步将产品线扩展到电子配件领域。通过不断的技术研发和产品创新,Hama成功转型为一家电子配件的领军企业,其产品线涵盖了从电线、存储卡、天线到相机配件等广泛品类。这一转型不仅巩固了Hama在市场上的地位,也为其后续的发展奠定了坚实基础。

问答坊 | AI 解惑

绝缘栅双极晶体管基础

绝缘栅双极晶体管基础 The Foundation of Insulation Grid Bipolar Transistor ST公司 Mario Aleo IGBT 结构及工作原理IGBT是强电流、高压应用和快速终端设备用垂直功率MOSFET的自然进化。由于实现一个较高的击穿电压BVDSS需要一个源漏通 ...…

查看全部问答>

如何正确选用微波无线监控系统?

如何正确选用微波无线监控系统? 随着现代技术突飞猛进的发展,微波无线图像、语音传输系统被广泛应用于广播电视、公安消防、大型住宅区、停车场、重点保护区、库区及水下作业等场所。因其中间无需架设线缆,发射主机和接收机体积小,工作电流小 ...…

查看全部问答>

LPC1343应用及源码下载

LPC1343应用及源码下载…

查看全部问答>

请求帮助

那位高手可以说一下计算机机与单片机之间的通讯原理?还有就是单片机的工作原理?谢谢了!…

查看全部问答>

各位大侠,请给兄弟我指条明路吧.

在下,混杀在软件行业七年左右,以c/c++为主,多半在winnt/linux/solaris上做开发. 由于行业竟急日趋激烈,小弟我打算转行做硬件. 我给自已的定位是,操作系统,电子电路.这方面. 请问大家,我该如何学习.…

查看全部问答>

AVR单片机控制直流伺服电机?【探讨帖】

  现在,我手头有一个直流伺服电机,自带一套直流伺服电机驱动器。   需要用AVR单片机制作电路,利用外部采集的信号,经处理后按照我们的思路和程序,控制该直流伺服电机驱动器。最终由驱动器控制直流伺服电机。    以往 ...…

查看全部问答>

请教Flash擦写寿命计算的问题

flash的寿命是以擦的次数算,还是每次写入数据算作一次呢?因为page被擦除,掉电重新上电后未被写入的空间是允许写入的…

查看全部问答>

WinCE6.0流驱动VirtualCopy映射失败

我在WinCE6.0下写流驱动用到VirtualAlloc与VirtualCopy函数,VirtualCopy运行出错了,GetLastError返回值为87,是参数错误,难道VirtualCopy在驱动里也不能用吗?请大虾指点一下!DWORD GPI_Init(LPCTSTR pContext){  DWORD GPIOSuccess=1;&nbs ...…

查看全部问答>

德州仪器针对铅酸电池推出具有革命性突破的电池监测技术

TI 专有 Impedance Track™ 容量测量技术的铅酸电池管理电量监测计集成电路。该 bq34z110 电量监测计 IC 采用小型 14 引脚封装,是业界唯一一款可扩展电源管理器件,支持具有 4V、12V、24V、48V 以及更高电池电压的多串铅酸电池组。 ~采用 I ...…

查看全部问答>

U-boot移植心得《二》

U-boot移植心得《二》 下面我开始分析start.S,在分析之前,我们要了解,u-boot引导linux加载的过程分为2个阶段,第一个阶段的终极目的就是设置好各种硬件环境,将代码从nor flash或NAND flash中拷贝到外部RAM中,然后跳转到C函数中去。第二阶段 ...…

查看全部问答>