当前位置: 首页 > news >正文

STM32G0单片机自带RTC

STM32有个自带RTC外设,外接32.768KHz的晶振后可得到相对精确的计时功能。
实测了一个一小时快个1秒多。

1 cubeMX设置了RTC后自动生成的初始化代码如下

static void MX_RTC_Init(void)
{/* USER CODE BEGIN RTC_Init 0 *//* USER CODE END RTC_Init 0 */RTC_TimeTypeDef sTime = {0};RTC_DateTypeDef sDate = {0};/* USER CODE BEGIN RTC_Init 1 *//* USER CODE END RTC_Init 1 *//** Initialize RTC Only*/hrtc.Instance = RTC;hrtc.Init.HourFormat = RTC_HOURFORMAT_24;hrtc.Init.AsynchPrediv = 127;hrtc.Init.SynchPrediv = 255;hrtc.Init.OutPut = RTC_OUTPUT_DISABLE;hrtc.Init.OutPutRemap = RTC_OUTPUT_REMAP_NONE;hrtc.Init.OutPutPolarity = RTC_OUTPUT_POLARITY_HIGH;hrtc.Init.OutPutType = RTC_OUTPUT_TYPE_OPENDRAIN;hrtc.Init.OutPutPullUp = RTC_OUTPUT_PULLUP_NONE;if (HAL_RTC_Init(&hrtc) != HAL_OK){Error_Handler();}/* USER CODE BEGIN Check_RTC_BKUP *//* USER CODE END Check_RTC_BKUP *//** Initialize RTC and set the Time and Date*/sTime.Hours = 9;sTime.Minutes = 0;sTime.Seconds = 0;sTime.SubSeconds = 0;sTime.DayLightSaving = RTC_DAYLIGHTSAVING_NONE;sTime.StoreOperation = RTC_STOREOPERATION_RESET;if (HAL_RTC_SetTime(&hrtc, &sTime, RTC_FORMAT_BIN) != HAL_OK){Error_Handler();}sDate.WeekDay = RTC_WEEKDAY_MONDAY;sDate.Month = RTC_MONTH_JANUARY;sDate.Date = 1;sDate.Year = 25;if (HAL_RTC_SetDate(&hrtc, &sDate, RTC_FORMAT_BIN) != HAL_OK){Error_Handler();}/* USER CODE BEGIN RTC_Init 2 *//* USER CODE END RTC_Init 2 */}

2 修改RTC时间设置

HAL_RTC_SetTime(&hrtc, &sTime, RTC_FORMAT_BIN)HAL_RTC_SetDate(&hrtc, &sDate, RTC_FORMAT_BIN)

3 读取当前日期时间

HAL_RTC_GetTime(&RTC_Handler,&RTC_TimeStruct,RTC_FORMAT_BIN);
HAL_RTC_GetDate(&RTC_Handler,&RTC_DateStruct,RTC_FORMAT_BIN);

注意先读时间,再读日期。如果顺序调过来,会很耗时(像被卡住好几秒)。

相关文章:

  • MySQL数据库 - 存储引擎
  • 通过WebRTC源码入门OpenGL ES
  • IJCV-2025 | 深圳大学记忆增强的具身导航!ESceme:基于情景记忆的视觉语言导航
  • React与Vue:哪个框架更适合入门?
  • C#实现通过MQTT Broker——EMQX发布订阅消息及其认证、授权的安全配置操作
  • PyTorch逻辑回归总结
  • Linux中设置文件开机自启
  • HarmonyOS-ArkUI V2工具类:AppStorageV2:应用全局UI状态存储
  • 程序化广告行业(87/89):创意审核要求与广告法合规要点
  • __progname宏的用途(摘自DeepSeek)
  • java基础课程-springmvc课程
  • Spring如何动态修改bean属性对应的配置key
  • Git 学习笔记
  • 2025年计算机领域重大技术突破与行业动态综述
  • Python入门到精通6:CSS网页美化入门1
  • 考研单词笔记 2025.04.15
  • React 更新 state 中的数组
  • ARM Cortex汇编伪指令
  • 深入理解 Java 内存区域与内存溢出异常
  • 研发效率破局之道阅读总结(2)流程优化
  • 履新宿州市政府党组书记后,任东暗访五一假期安全生产工作
  • 购车补贴、“谷子”消费、特色产品,这些活动亮相五五购物节
  • 学有质量、查有力度、改有成效,广大党员干部落实中央八项规定精神
  • 中央宣传部、全国总工会联合发布2025年“最美职工”先进事迹
  • 民生银行一季度净利127.42亿降逾5%,营收增7.41%
  • 长三角议事厅·周报|长三角游戏出海,关键在“生态输出”