您的位置:首页 > 其它

【iCore1S 双核心板_ARM】例程十一:RTC实时时钟实验——显示时间和日期

2017-08-30 14:11 609 查看
实验现象:





核心代码:

int main(void)
{

/* USER CODE BEGIN 1 */
RTC_DateTypeDef sDate;
RTC_TimeTypeDef sTime;
uint8_t second_tmp = 0;
/* USER CODE END 1 */

/* MCU Configuration----------------------------------------------------------*/

/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();

/* Configure the system clock */
SystemClock_Config();

/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_RTC_Init();
MX_USART1_UART_Init();
SystemClock_Config();

/* USER CODE BEGIN 2 */
LED_RED_ON;                                                                                             //ºìµÆ³£ÁÁ
usart1.printf("\x0c");                                   //ÇåÆÁ
usart1.printf("\033[1;32;40m");                          //ÉèÖÃ×ÖÌåÖÕ¶ËΪÂÌÉ«
usart1.printf("\r\n\r\nhello! I am iCore1S!\r\n\r\n\r\n");

/* USER CODE END 2 */

/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */

/* USER CODE BEGIN 3 */
HAL_Delay(100);                                                                                 //¶ÁÈ¡RTCÈÕÆÚºÍʱ¼ä
HAL_RTC_GetTime(&hrtc, &sTime, RTC_FORMAT_BIN);
HAL_RTC_GetDate(&hrtc, &sDate, RTC_FORMAT_BIN);

if(second_tmp != sTime.Seconds){                                           //µ±ÃëÊý¾ÝÓ뱸·Ý²»Ò»ÖÂʱ£¬ÏòÖն˴òӡʱ¼ä/ÈÕÆÚ

usart1.printf("  %02d:%02d:%02d  ",sTime.Hours,sTime.Minutes,sTime.Seconds);
usart1.printf("20%02d-%02d-%02d  \r",sDate.Year,sDate.Month,sDate.Date);\
second_tmp = sTime.Seconds;                                   //ÃëÊý¾Ý±¸·Ý
}

}
/* USER CODE END 3 */

}


源代码下载链接:

链接:http://pan.baidu.com/s/1b1hxF4 密码:pg08



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐