rtc_sample.c 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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. static int rtc_sample(int argc, char *argv[])
  19. {
  20. rt_err_t ret = RT_EOK;
  21. time_t now;
  22. /* 设置日期 */
  23. ret = set_date(2018, 12, 3);
  24. if (ret != RT_EOK)
  25. {
  26. rt_kprintf("set RTC date failed\n");
  27. return ret;
  28. }
  29. /* 设置时间 */
  30. ret = set_time(11, 15, 50);
  31. if (ret != RT_EOK)
  32. {
  33. rt_kprintf("set RTC time failed\n");
  34. return ret;
  35. }
  36. /* 延时3秒 */
  37. rt_thread_mdelay(3000);
  38. /* 获取时间 */
  39. now = time(RT_NULL);
  40. rt_kprintf("%s\n", ctime(&now));
  41. return ret;
  42. }
  43. /* 导出到 msh 命令列表中 */
  44. MSH_CMD_EXPORT(rtc_sample, rtc sample);