STM32h743使用RTC初始化代码
时间: 2024-06-08 07:09:32 浏览: 178
以下是使用RTC初始化STM32H743的代码示例:
```
// 启用RTC时钟
RCC_OscInitTypeDef RCC_OscInitStruct;
RCC_PeriphCLKInitTypeDef RCC_RTCInitStruct;
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSI | RCC_OSCILLATORTYPE_LSE;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
Error_Handler();
}
// 配置RTC外设时钟源
RCC_RTCInitStruct.PeriphClockSelection = RCC_PERIPHCLK_RTC;
RCC_RTCInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSE;
if (HAL_RCCEx_PeriphCLKConfig(&RCC_RTCInitStruct) != HAL_OK)
{
Error_Handler();
}
// 初始化RTC外设
RTC_HandleTypeDef hrtc;
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.OutPutPolarity = RTC_OUTPUT_POLARITY_HIGH;
hrtc.Init.OutPutType = RTC_OUTPUT_TYPE_OPENDRAIN;
if (HAL_RTC_Init(&hrtc) != HAL_OK)
{
Error_Handler();
}
```
这个示例代码启用了LSI和LSE时钟,使用LSE时钟作为RTC时钟源,以24小时格式初始化了RTC外设,并将预分频器值设置为127和255。你可以根据你的需求和硬件环境进行修改。
阅读全文