STM32CubeMX学习笔记——STM32H743_RTC


此工程实现功能,使用RTC wakeup定时器每隔1s toggle led引脚一次,在debug模式下可在内存中查看RTC日期、时间

此后的项目均采用STM32CubeMX 5.0.0 版本
5.0.0版本与4.27.0版本UI界面变化很大
新版本向下兼容其他版本

Github

https://github.com/HaHaHaHaHaGe/Planof2019_half/tree/master/Course_Project/STM32H7/Class06_RTC

STM32CubeMX配置

STM32CubeMX版本:5.0.0
配置流程:
Pinout & Configuration界面选择并开启需要使用外部中断的引脚,与配置相关外设
Clock Configuration配置时钟树
生成工程

Pinout配置

在这里插入图片描述
配置LED引脚,RCC、RTC等外设配置

RTC

在这里插入图片描述

Mode

开启时钟源
激活日历功能
闹钟A:可选择关闭/映射到引脚/引发中断
闹钟B:可选择关闭/映射到引脚/引发中断
唤醒功能:可选择关闭/映射到引脚/引发中断

Configuration

Paramter Settings

General:
24小时制/12小时制
异步分频系数
同步分频系数
在这里插入图片描述
在这里插入图片描述
Calendar Time
数据格式:二进制/BCD
设置小时
设置分钟
设置秒钟
夏令时模式:关闭/减去1小时/增加1小时
夏令时修改标志:未修改/已修改
Calender Date
星期


年:(只写入十位与个位,如2018年 只写入18)
Wake UP
唤醒周期
唤醒次数

NVIC Settings

在这里插入图片描述

Clock Configuration配置

在这里插入图片描述

代码部分

中断响应流程:

//stm32h7xx_it.c
void RTC_WKUP_IRQHandler(void)
//stm32h7xx_hal_rtc_ex.c
void HAL_RTCEx_WakeUpTimerIRQHandler(RTC_HandleTypeDef *hrtc)
//stm32h7xx_it.c
void HAL_RTCEx_WakeUpTimerEventCallback(RTC_HandleTypeDef *hrtc)

stm32h7xx_it.c

/* USER CODE BEGIN 1 */
void HAL_RTCEx_WakeUpTimerEventCallback(RTC_HandleTypeDef *hrtc)
{
	HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_0);
}
/* USER CODE END 1 */

main.c

/* USER CODE BEGIN 0 */
RTC_DateTypeDef date;
RTC_TimeTypeDef time;
/* USER CODE END 0 */

  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
		HAL_RTC_GetDate(&hrtc,&date,RTC_FORMAT_BIN);
		HAL_RTC_GetTime(&hrtc,&time,RTC_FORMAT_BIN);
  }
  /* USER CODE END 3 */

猜你喜欢

转载自blog.csdn.net/weixin_41738734/article/details/84492205