From 1a7e2514231e40f6c2f0f7472ccd6951774309aa Mon Sep 17 00:00:00 2001 From: liu2guang <1004383796@qq.com> Date: Wed, 17 Jan 2018 23:42:10 +0800 Subject: [PATCH] =?UTF-8?q?[Examples]=20add=20RTC=20drive=20test=20finsh?= =?UTF-8?q?=20command.=20|=20=E6=B7=BB=E5=8A=A0RTC=E9=A9=B1=E5=8A=A8?= =?UTF-8?q?=E6=B5=8B=E8=AF=95finsh=E5=91=BD=E4=BB=A4.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/test/rtc_test.c | 74 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 examples/test/rtc_test.c diff --git a/examples/test/rtc_test.c b/examples/test/rtc_test.c new file mode 100644 index 0000000000..992eb08d3d --- /dev/null +++ b/examples/test/rtc_test.c @@ -0,0 +1,74 @@ +/* + * File : rtc_test.c + * This file is part of RT-Thread RTOS + * COPYRIGHT (C) 2017, RT-Thread Development Team + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Change Logs: + * Date Author Notes + * 2018-01-15 Liu2guang the first version. + */ +#include +#include + +int rtc_test(void) +{ + uint8_t i; + time_t now; + + rt_err_t ret = RT_EOK; + + rt_kprintf("[RTC Test]RTC Test Start...\n"); + rt_thread_delay(RT_TICK_PER_SECOND); + rt_kprintf("[RTC Test]Set RTC 2017-04-01 12:30:46\n\n"); + rt_thread_delay(RT_TICK_PER_SECOND); + + ret = set_date(2017, 4, 1); + if(ret != RT_EOK) + { + rt_kprintf("[RTC Test]Set RTC Date failed\n"); + return RT_ERROR; + } + + rt_thread_delay(RT_TICK_PER_SECOND); + + ret = set_time(12, 30, 46); + if(ret != RT_EOK) + { + rt_kprintf("[RTC Test]Set RTC Time failed\n"); + return RT_ERROR; + } + + rt_thread_delay(RT_TICK_PER_SECOND); + + for(i = 0; i < 10; i++) + { + rt_kprintf("[RTC Test]Read RTC Date and Time: "); + now = time(RT_NULL); + rt_kprintf("%s", ctime(&now)); + + rt_thread_delay(RT_TICK_PER_SECOND); + } + + rt_kprintf("\n"); + + return RT_EOK; +} +#ifdef RT_USING_FINSH +#include +FINSH_FUNCTION_EXPORT(rtc_test, rtc drive test. e.g: rtc_test()); +MSH_CMD_EXPORT(rtc_test, rtc drive test. e.g: rtc_test()); +#endif