rtc_test.c 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /*
  2. * Copyright (c) 2006-2021, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2018-01-15 Liu2guang the first version.
  9. */
  10. #include <rtthread.h>
  11. #include <rtdevice.h>
  12. int rtc_test(void)
  13. {
  14. uint8_t i;
  15. time_t now;
  16. rt_err_t ret = RT_EOK;
  17. rt_kprintf("[RTC Test]RTC Test Start...\n");
  18. rt_thread_delay(RT_TICK_PER_SECOND);
  19. rt_kprintf("[RTC Test]Set RTC 2017-04-01 12:30:46\n");
  20. rt_thread_delay(RT_TICK_PER_SECOND);
  21. ret = set_date(2017, 4, 1);
  22. if(ret != RT_EOK)
  23. {
  24. rt_kprintf("[RTC Test]Set RTC Date failed\n");
  25. return -RT_ERROR;
  26. }
  27. rt_thread_delay(RT_TICK_PER_SECOND);
  28. ret = set_time(12, 30, 46);
  29. if(ret != RT_EOK)
  30. {
  31. rt_kprintf("[RTC Test]Set RTC Time failed\n");
  32. return -RT_ERROR;
  33. }
  34. rt_thread_delay(RT_TICK_PER_SECOND);
  35. for(i = 0; i < 10; i++)
  36. {
  37. rt_kprintf("[RTC Test]Read RTC Date and Time: ");
  38. now = time(RT_NULL);
  39. rt_kprintf("%s\n", ctime(&now));
  40. rt_thread_delay(RT_TICK_PER_SECOND);
  41. }
  42. rt_kprintf("\n");
  43. return RT_EOK;
  44. }
  45. #ifdef RT_USING_FINSH
  46. #include <finsh.h>
  47. MSH_CMD_EXPORT(rtc_test, rtc driver test. e.g: rtc_test());
  48. #endif