迅维网

查看: 1192|回复: 0
打印 上一主题 下一主题

【NUCLEO-F412ZG试用体验】RTC

[复制链接]
跳转到指定楼层
1#
发表于 2017-2-8 12:31:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 来自: 山东青岛 来自 山东青岛

马上注册,获取阅读精华内容及下载权限

您需要 登录 才可以下载或查看,没有帐号?注册

x
本来想学习DAC,只是412没有DAC功能,所以也就罢了,学习下RTC功能。
Step1.打开 STM32CubeMX,点击“New Project”,选择芯片型号,STM32F412ZGTx。

                               
登录/注册后看高清大图

Step2. 在 Pinout 界面下配置引脚功能。
RTC:使用其内部唤醒功能即可。

                               
登录/注册后看高清大图

配置外部 32768Hz 晶振输入,作为 RTC 时钟。

                               
登录/注册后看高清大图

Step3.在 Clock Configuration 界面配置时钟源。
配置时钟树,RTC 使用 32768Hz 外部时钟,其它使用默认值如下:

                               
登录/注册后看高清大图

Step4.配置外设参数。
RTC:时间 24 小时格式,数据格式使用二进制,日期 2017 年 2 月 7 日星期二,时间 21:20:00,唤
醒时钟频率 1Hz,其它参数默认。

                               
登录/注册后看高清大图

Step5.生成源代码。
并在main.c添加代码如下:
定义用户变量:
  • /* USER CODE BEGIN PV */
  • /* Private variables ---------------------------------------------------------*/
  • RTC_DateTypeDef mDate;
  • RTC_TimeTypeDef mTime;
  • uint8_t tmp_Seconds;
  • /* USER CODE END PV */


[color=rgb(51, 102, 153) !important]复制代码

主函数:
  •   while (1)
  •   {
  •   /* USER CODE END WHILE */
  •   /* USER CODE BEGIN 3 */
  •         HAL_Delay(10);
  •         HAL_RTC_GetDate(&hrtc,&mDate,RTC_FORMAT_BIN);
  •         HAL_RTC_GetTime(&hrtc,&mTime,RTC_FORMAT_BIN);
  •         if(tmp_Seconds != mTime.Seconds)
  •         {
  •                 tmp_Seconds = mTime.Seconds;
  •                 printf("20%02d-%02d-%02d  ",mDate.Year,mDate.Month,mDate.Date);
  •                 printf("%02d:%02d:%02d\r\n",mTime.Hours,mTime.Minutes,mTime.Seconds);
  •         }

[color=rgb(51, 102, 153) !important]复制代码

配置项目,使用ITM作为调试输出。

                               
登录/注册后看高清大图


                               
登录/注册后看高清大图

编译并运行项目会在Debug (print)View看到输出的时间信息

                               
登录/注册后看高清大图


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

本版积分规则

快速回复 返回顶部 返回列表
附近
店铺
微信扫码查看附近店铺
维修
报价
扫码查看手机版报价
信号元
件查询
点位图 AI维修
助手



芯片搜索

快速回复