本来想学习DAC,只是412没有DAC功能,所以也就罢了,学习下RTC功能。
Step1.打开
STM32CubeMX,点击“New Project”,选择芯片型号,STM32F412ZGTx。
Step2. 在 Pinout 界面下配置引脚功能。
RTC:使用其内部唤醒功能即可。
配置外部 32768Hz 晶振输入,作为 RTC 时钟。
Step3.在 Clock Configura
tion 界面配置时钟源。
配置时钟树,RTC 使用 32768Hz 外部时钟,其它使用默认值如下:
Step4.配置外设参数。
RTC:时间 24 小时格式,数据格式使用二进制,日期 2017 年 2 月 7 日星期二,时间 21:20:00,唤
醒时钟频率 1Hz,其它参数默认。
Step5.生成源代码。
并在main.c添加代码如下:
定义用户变量:
- /* USER CODE BEGIN PV */
- /* Private variables ---------------------------------------------------------*/
- RTC_DateTypeDef mDate;
- RTC_TimeTypeDef mTime;
- uint8_t tmp_Seconds;
- /* USER CODE END PV */
主函数:
- while (1)
- {
- /* USER CODE END WHILE */
- /* USER CODE BEGIN 3 */
- HAL_Delay(10);
- HAL_RTC_GetDate(&hrtc,&mDate,RTC_FORMAT_BIN);
- HAL_RTC_GetTime(&hrtc,&mTime,RTC_FORMAT_BIN);
- if(tmp_Seconds != mTime.Seconds)
- {
- tmp_Seconds = mTime.Seconds;
- printf("20%02d-%02d-%02d ",mDate.Year,mDate.Month,mDate.Date);
- printf("%02d:%02d:%02drn",mTime.Hours,mTime.Minutes,mTime.Seconds);
- }
配置项目,使用ITM作为调试输出。
编译并运行项目会在Debug (print)View看到输出的时间信息