基于STM32CubeMX的实时时钟(RTC)配置

rtc简介
实时时钟 (rtc) 是一个独立的 bcd 定时器/计数器。rtc 提供具有可编程闹钟中断功能的日历时钟 /日历。rtc 还包含具有中断功能的周期性可编程唤醒标志。系统可以自动将月份的天数补偿为 28、29(闰年)、30 和 31 天。只要芯片的备用电源一直供电,rtc上的时间会一直走。
新建工程
本章程序在串口printf工程的基础上修改,复制串口printf的工程,修改文件夹名。点击stm32f746i.ioc打开stm32cubemx的工程文件重新配置。rtc选择内部唤醒(internal wakeup)开启rtc。开启外部低速晶振,pc14,pc15配置。
rtc时钟选择为外部低速晶振(lse),频率为32.768。
在rtc配置中,设置时间和日期,其他为默认设置。此处设置时间为2016/04/16 1649。
生成报告以及代码,编译程序。
添加应用程序
在rtc.c文件中可以看到adc初始化函数。在stm32f7xx_hal_rtc.h头文件中可以看到rtc时间和日期读写操作函数。
从操作函数中可以看到,时间和日期是以结构体的形式读写的。所以在main.c文件前面申明两个结构体变量存储读取的时间和日期数据。
/* user code begin pv *//* private variables --------*/rtc_datetypedef sdatestructure;rtc_timetypedef stimestructure;/* user code end pv */ 在stm32f7xx_hal_rtc.h头文件中,可以找到rtc_timetypedef,rtc_datetypedef这两个结构体的成员变量。
在while循环中添加应用程序,读取当前的时间和日期,并通过串口发送到电脑上显示。
/* user code begin while */while (1){/* user code end while *//* user code begin 3 */      /* get the rtc current time ,must get time first*/      hal_rtc_gettime(&hrtc, &stimestructure, rtc_format_bin);      /* get the rtc current date */      hal_rtc_getdate(&hrtc, &sdatestructure, rtc_format_bin);      /* display date format : yy/mm/dd */      printf(%02d/%02d/%02d,2000 + sdatestructure.year, sdatestructure.month, sdatestructure.date);      /* display time format : hhss */      printf(%02d:%02d:%02d,stimestructure.hours, stimestructure.minutes, stimestructure.seconds);      printf();      hal_delay(1000);}/* user code end 3 */ 程序中使用hal_rtc_gettime(),hal_rtc_getdate()读取时间和日期,并保存到结构体变量中,然后通过串口输出读取的时间和日期。注意:要先读取时间再读取日期,如果先读取日期在读取时间会导致读取的时间不准确,一直都是原来设置的时间。
实验效果
编译程序并下载到开发板。打开串口调试助手。设置波特率为115200。串口助手上会显示rtc的时间日期。


两轮电动车的“锂电化+智能化”未来发展方向正全面加速
人造皮肤设计理念被证实 电子皮肤可拉近人与人之间的距离
以太网为物联网提供基础的运转层
如何使用AI工具提高集成电路设计效率!
Track Lab:PlayStation VR的另一个独家产品,可以激发用户学习音乐的兴趣
基于STM32CubeMX的实时时钟(RTC)配置
共模抑制比CMRR定义及其测试
激光植球技术在BGA芯片封装工艺中的优势有哪些呢?
以我中国芯助力我国硬件创新
阿里巴巴入局加持,LoRa与NB-IoT互补共存
不得不关注的六个LED照明技术细节
全国首条智慧地下电缆线路的监控信息正式接入
助力低碳,深耕低温锡膏技术引领行业工艺发展
有哪些平价的蓝牙耳机?四款适合学生的平价蓝牙耳机推荐
冠层分析仪的作用是什么,它有哪些应用
传感器前级信号处理
UWB室内定位高精度定位应用的宠儿
ADI新数字隔离器封装确保医疗和工业应用安全
基于A2DP框架的近距离无线音频通信研究
联发科公布第三季财报 营收达670亿元并表示对AI的投入已有相当的成果