赞
踩
RTC—real time clock,实时时钟,主要包含日历、闹钟和自动唤醒这三部分的功能,其中的日历功能我们使用的最多。日历包含两个32bit的时间寄存器,可直接输出时分秒,星期、月、日、年。
从Cubemx里的配置选项我们也可以看到功能。
因为我们的竞赛板子上只有HSE和LSI,并未连接LSE,所以我们这里选用LSI作为时钟源。
预分频器PRER由7位的异步预分频器APRE和15位的同步预分频器SPRE组成。异步预分频器时钟CK_APRE用于为二进制 RTC_SSR 亚秒递减计数器提供时钟,同步预分频器时钟CK_SPRE用于更新日历。 异步预分频器时钟fCK_APRE=fRTC_CLK/(PREDIV_A+1), 同步预分频器时钟f:sub:CK_SPRE=fRTC_CLK/(PREDIV_S+1),)。 使用两个预分频器时,推荐将异步预分频器配置为较高的值,以最大程度降低功耗。
模式和时钟源的配置上面已经展示,在此不作展示
如有需要自习配置闹钟功能,在闹钟中断服务回调函数里进行代码编写。
- // 启动闹钟中断事件
- HAL_RTC_SetAlarm_IT(&hrtc, &sAlarm, RTC_FORMAT_BIN);
- int main(void)
- {
-
- /* USER CODE BEGIN 1 */
-
- RTC_TimeTypeDef S_F_M;
- RTC_DateTypeDef N_Y_R;
-
- /* USER CODE END 1 */
-
- /* MCU Configuration--------------------------------------------------------*/
-
- /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
- HAL_Init();
-
- /* USER CODE BEGIN Init */
-
- /* USER CODE END Init */
-
- /* Configure the system clock */
- SystemClock_Config();
-
- /* USER CODE BEGIN SysInit */
-
- /* USER CODE END SysInit */
-
- /* Initialize all configured peripherals */
- MX_GPIO_Init();
- MX_TIM3_Init();
- MX_TIM6_Init();
- MX_TIM17_Init();
- MX_RTC_Init();
- /* USER CODE BEGIN 2 */
- display_init();
- /* USER CODE END 2 */
-
- /* Infinite loop */
- /* USER CODE BEGIN WHILE */
- HAL_TIM_Base_Start_IT(&htim6);
- while (1)
- {
- HAL_RTC_GetTime(&hrtc,&S_F_M,RTC_FORMAT_BIN);
- HAL_RTC_GetDate(&hrtc,&N_Y_R,RTC_FORMAT_BIN);
- char text[30] ;
- sprintf(text," %d.%d.%d",S_F_M.Hours,S_F_M.Minutes,S_F_M.Seconds);//时间
- LCD_DisplayStringLine(Line2,(u8*)text);
- sprintf(text," %d.%d.%d",N_Y_R.Year,N_Y_R.Month,N_Y_R.Date);//日期
- LCD_DisplayStringLine(Line3,(u8*)text);
- sprintf(text," %d",N_Y_R.WeekDay);//星期几
- LCD_DisplayStringLine(Line4,(u8*)text);
-
- /* USER CODE END WHILE */
-
- /* USER CODE BEGIN 3 */
- }
- /* USER CODE END 3 */
- }

关键处:①两个结构体
- RTC_TimeTypeDef S_F_M;
- RTC_DateTypeDef N_Y_R;
②获取时间和日期(两个函数必须同时使用)
- HAL_RTC_GetTime(&hrtc,&S_F_M,RTC_FORMAT_BIN);
- HAL_RTC_GetDate(&hrtc,&N_Y_R,RTC_FORMAT_BIN);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。