STM32CubeMX學習筆記——STM32H743_RTC
阿新 • • 發佈:2018-12-11
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 */