rtc_sample.c 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*
  2. * Copyright (c) 2006-2018, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2018-11-30 misonyo first implementation.
  9. */
  10. /*
  11. * 程序清单:这是一个 RTC 设备使用例程
  12. * 例程导出了 rtc_sample 命令到控制终端
  13. * 命令调用格式:rtc_sample
  14. * 程序功能:设置RTC设备的日期和时间,延时一段时间后获取当前时间并打印显示。
  15. */
  16. #include <rtthread.h>
  17. #include <rtdevice.h>
  18. #ifdef RT_USING_RTC
  19. static int rtc_sample(int argc, char *argv[])
  20. {
  21. rt_err_t ret = RT_EOK;
  22. time_t now;
  23. /* 设置日期 */
  24. ret = set_date(2018, 12, 3);
  25. if (ret != RT_EOK)
  26. {
  27. rt_kprintf("set RTC date failed\n");
  28. return ret;
  29. }
  30. /* 设置时间 */
  31. ret = set_time(11, 15, 50);
  32. if (ret != RT_EOK)
  33. {
  34. rt_kprintf("set RTC time failed\n");
  35. return ret;
  36. }
  37. /* 延时3秒 */
  38. rt_thread_mdelay(3000);
  39. /* 获取时间 */
  40. now = time(RT_NULL);
  41. rt_kprintf("%s\n", ctime(&now));
  42. return ret;
  43. }
  44. /* 导出到 msh 命令列表中 */
  45. MSH_CMD_EXPORT(rtc_sample, rtc sample);
  46. #endif