STM32 RTC測(cè)試成功 _只顯示 時(shí)分秒
源文件位置 STM32F10x_StdPeriph_Lib_V3.1.2ProjectSTM32F10x_StdPeriph_ExamplesRTCCalendar
本文引用地址:http://m.butianyuan.cn/article/201611/316401.htm仔細(xì)閱讀其中的readme
摘抄如下
@par How to use it ?
In order to make the program work, you must do the following :
- Create a project and setup all project configuration
- Add the required Library files :
- stm32f10x_gpio.c
- stm32f10x_rcc.c
- stm32f10x_rtc.c
- stm32f10x_bkp.c
- stm32f10x_pwr.c
- misc.c
- stm32f10x_usart.c
- stm32f10x_exti.c
- system_stm32f10x.c (under LibrariesCMSISCoreCM3)
- stm32_eval.c (under UtilitiesSTM32_EVAL)
- Edit stm32f10x.h file to select the device you are working on.
- Edit stm32_eval.h file to select the evaluation board you will use.
根據(jù)之前的經(jīng)驗(yàn) 建立工程
options中建議選上 use microLIB
現(xiàn)在的時(shí)間,睡覺(jué)啦
程序地址
RTC測(cè)試成功
轉(zhuǎn)自Tony嵌入式論壇,地址:http://www.cevx.com/bbs/thread-26329-1-1.html
=========================================================
關(guān)鍵代碼分析
/**
* @brief Returns the time entered by user, using Hyperterminal.
* @param None
* @retval Current time RTC counter value
*/
uint32_t Time_Regulate(void)
{
uint32_t Tmp_HH = 0xFF, Tmp_MM = 0xFF, Tmp_SS = 0xFF;
printf("rn==============Time Settings=====================================");
printf("rn Please Set Hours");
while (Tmp_HH == 0xFF)
{
Tmp_HH = USART_Scanf(23);//若超級(jí)終端輸入的數(shù)據(jù)大于23,超級(jí)終端提示出錯(cuò)
}
printf(": %d", Tmp_HH);
printf("rn Please Set Minutes");
while (Tmp_MM == 0xFF)
{
Tmp_MM = USART_Scanf(59);
}
printf(": %d", Tmp_MM);
printf("rn Please Set Seconds");
while (Tmp_SS == 0xFF)
{
Tmp_SS = USART_Scanf(59);
}
printf(": %d", Tmp_SS);
/* Return the value to store in RTC counter register */
return((Tmp_HH*3600 + Tmp_MM*60 + Tmp_SS));
}
--------------------------------------
/**
* @brief Displays the current time.
* @param TimeVar: RTC counter value.
* @retval None
*/
void Time_Display(uint32_t TimeVar)
{
uint32_t THH = 0, TMM = 0, TSS = 0;
/* Compute hours */
THH = TimeVar / 3600;
/* Compute minutes */
TMM = (TimeVar % 3600) / 60;
/* Compute seconds */
TSS = (TimeVar % 3600) % 60;
printf("Time: %0.2d:%0.2d:%0.2dr", THH, TMM, TSS);//r回車,光標(biāo)移到本行首
}
評(píng)論