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 */