/** * @brief Returns the date entered by user, using Hyperterminal. * @param None * @retval Current time RTC counter value */ uint32_t Date_Regulate(void) { int MMDD; uint32_t Tmp_YY = 0xFF, Tmp_MM = 0xFF, Tmp_DD = 0xFF; printf("\r\n================= Date Setting =================="); printf("\r\n Please Set Year in 4 digits : "); while (Tmp_YY == 0xFF) { Tmp_YY = USART_4DigitScanf(9999); } printf(" Set year complete!"); printf("\r\n Please Set Month : "); while (Tmp_MM == 0xFF) { Tmp_MM = USART_2DigitScanf(12); } printf(" Set month complete!"); printf("\r\n Please Set Day : "); while (Tmp_DD == 0xFF) { Tmp_DD = USART_2DigitScanf(31); } TranslateIntoYear(Tmp_YY); TranslateIntoMonth(Tmp_MM); TranslateIntoDay(Tmp_DD); MMDD = (Tmp_MM * 100) + Tmp_DD; /* Save year data to unresettable backup register addr. no. 2, 3 */ BKP_WriteBackupRegister(BKP_DR2, Tmp_YY); // Save Year BKP_WriteBackupRegister(BKP_DR3, MMDD); // Save Month and Date printf(" Set day complete!"); /* return 0 if succeed */ return 0; }
/** * @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("\r\n================= Time Setting =================="); printf("\r\n Please Set Hours in 24hr : "); while (Tmp_HH == 0xFF) { Tmp_HH = USART_2DigitScanf(23); } printf(" Set hour complete!"); printf("\r\n Please Set Minutes : "); while (Tmp_MM == 0xFF) { Tmp_MM = USART_2DigitScanf(59); } printf(" Set minutes complete!"); printf("\r\n Please Set Seconds : "); while (Tmp_SS == 0xFF) { Tmp_SS = USART_2DigitScanf(59); } printf(" Set second complete!"); /* Return the value to store in RTC counter register */ return((Tmp_HH*3600 + Tmp_MM*60 + Tmp_SS)); }
void ForceIPSetBySerial(void) { int ip0, ip1, ip2, ip3; ip0 = 0xFF; ip1 = 0xFF; ip2 = 0xFF; ip3 = 0xFF; printf("\r\n\r\n=================== IP Setting ===================="); printf("\r\n Please Set Year in 3 digits for each IP address : "); while (ip0 == 0xFF) { ip0 = USART_3DigitScanf(200); } printf(" IP[0] is set!"); printf("\r\n Please Set IP[1] : "); while (ip1 == 0xFF) { ip1 = USART_3DigitScanf(200); } printf(" IP[1] is set!"); printf("\r\n Please Set IP[2] : "); while (ip2 == 0xFF) { ip2 = USART_1DigitScanf(200); } printf(" IP[2] is set!"); printf("\r\n Please Set IP[3] : "); while (ip3 == 0xFF) { ip3 = USART_2DigitScanf(99); } printf(" IP[3] is set!"); printf("\r\nEntered IP is %d.%d.%d.%d", ip0, ip1, ip2, ip3); IP[0] = ip0; IP[1] = ip1; IP[2] = ip2; IP[3] = ip3; /* Save year data to unresettable backup register addr. no. 2, 3 */ BKP_WriteBackupRegister(BKP_DR4, IP[0]); // Save IP[0] BKP_WriteBackupRegister(BKP_DR5, IP[1]); // Save IP[1] BKP_WriteBackupRegister(BKP_DR6, IP[2]); // Save IP[2] BKP_WriteBackupRegister(BKP_DR7, IP[3]); // Save IP[3] printf(" Set IP complete!"); }