rtc_test.c 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. FINSH_FUNCTION_EXPORT(rtc_test, rtc driver test. e.g: rtc_test());
  48. MSH_CMD_EXPORT(rtc_test, rtc driver test. e.g: rtc_test());
  49. #endif