OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5131|回复: 2

关于STM32L476 HAL时间会减少1小时问题?

[复制链接]

0

主题

3

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2012-10-13
在线时间
6 小时
发表于 2020-12-2 11:05:22 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 hunts 于 2020-12-2 11:12 编辑

目前L476 RTC的情况:
在10点前,设置时间和读取时间一致,10-23点之间,会自动减一。目前是10点多,读取出来就变成9点多。
0~9点设置和读取时间一致。

是我使用的方法不对,还是配置有什么讲究。谢谢!

L475.jpg
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2020-12-3 01:49:09 | 显示全部楼层
回复

使用道具 举报

53

主题

567

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2099
金钱
2099
注册时间
2017-2-11
在线时间
306 小时
发表于 2020-12-3 08:38:20 | 显示全部楼层
  1. /**
  2.   ******************************************************************************
  3.   * File Name          : RTC.c
  4.   * Description        : This file provides code for the configuration
  5.   *                      of the RTC instances.
  6.   ******************************************************************************
  7.   * @attention
  8.   *
  9.   * <h2><center>&#169; Copyright (c) 2020 STMicroelectronics.
  10.   * All rights reserved.</center></h2>
  11.   *
  12.   * This software component is licensed by ST under Ultimate Liberty license
  13.   * SLA0044, the "License"; You may not use this file except in compliance with
  14.   * the License. You may obtain a copy of the License at:
  15.   *                             www.st.com/SLA0044
  16.   *
  17.   ******************************************************************************
  18.   */

  19. /* Includes ------------------------------------------------------------------*/
  20. #include "rtc.h"

  21. /* USER CODE BEGIN 0 */

  22. /* USER CODE END 0 */

  23. RTC_HandleTypeDef hrtc;

  24. /* RTC init function */
  25. void MX_RTC_Init(void)
  26. {
  27.   RTC_TimeTypeDef sTime = {0};
  28.   RTC_DateTypeDef sDate = {0};

  29.   /** Initialize RTC Only
  30.   */
  31.   hrtc.Instance = RTC;
  32.   hrtc.Init.HourFormat = RTC_HOURFORMAT_24;
  33.   hrtc.Init.AsynchPrediv = 127;
  34.   hrtc.Init.SynchPrediv = 255;
  35.   hrtc.Init.OutPut = RTC_OUTPUT_DISABLE;
  36.   hrtc.Init.OutPutPolarity = RTC_OUTPUT_POLARITY_HIGH;
  37.   hrtc.Init.OutPutType = RTC_OUTPUT_TYPE_OPENDRAIN;
  38.   if (HAL_RTC_Init(&hrtc) != HAL_OK)
  39.   {
  40.     Error_Handler();
  41.   }

  42.   /* USER CODE BEGIN Check_RTC_BKUP */

  43.         if(HAL_RTCEx_BKUPRead(&hrtc,RTC_BKP_DR0) == 0x5050)//是否第一次配置?
  44.         {
  45.           return;
  46.         }
  47.         HAL_RTCEx_BKUPWrite(&hrtc,RTC_BKP_DR0,0x5050);//标记已经初始化过
  48.   /* USER CODE END Check_RTC_BKUP */

  49.   /** Initialize RTC and set the Time and Date
  50.   */
  51.   sTime.Hours = 11;
  52.   sTime.Minutes = 11;
  53.   sTime.Seconds = 11;
  54.   sTime.DayLightSaving = RTC_DAYLIGHTSAVING_NONE;
  55.   sTime.StoreOperation = RTC_STOREOPERATION_RESET;
  56.   if (HAL_RTC_SetTime(&hrtc, &sTime, RTC_FORMAT_BIN) != HAL_OK)
  57.   {
  58.     Error_Handler();
  59.   }
  60.   sDate.WeekDay = RTC_WEEKDAY_WEDNESDAY;
  61.   sDate.Month = RTC_MONTH_NOVEMBER;
  62.   sDate.Date = 11;
  63.   sDate.Year = 20;

  64.   if (HAL_RTC_SetDate(&hrtc, &sDate, RTC_FORMAT_BIN) != HAL_OK)
  65.   {
  66.     Error_Handler();
  67.   }

  68. }

  69. void HAL_RTC_MspInit(RTC_HandleTypeDef* rtcHandle)
  70. {

  71.   if(rtcHandle->Instance==RTC)
  72.   {
  73.   /* USER CODE BEGIN RTC_MspInit 0 */

  74.   /* USER CODE END RTC_MspInit 0 */
  75.     /* RTC clock enable */
  76.     __HAL_RCC_RTC_ENABLE();
  77.   /* USER CODE BEGIN RTC_MspInit 1 */

  78.   /* USER CODE END RTC_MspInit 1 */
  79.   }
  80. }

  81. void HAL_RTC_MspDeInit(RTC_HandleTypeDef* rtcHandle)
  82. {

  83.   if(rtcHandle->Instance==RTC)
  84.   {
  85.   /* USER CODE BEGIN RTC_MspDeInit 0 */

  86.   /* USER CODE END RTC_MspDeInit 0 */
  87.     /* Peripheral clock disable */
  88.     __HAL_RCC_RTC_DISABLE();
  89.   /* USER CODE BEGIN RTC_MspDeInit 1 */

  90.   /* USER CODE END RTC_MspDeInit 1 */
  91.   }
  92. }

  93. /* USER CODE BEGIN 1 */

  94. /* USER CODE END 1 */

  95. /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
复制代码
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-4-30 04:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表