ART-PI使用软件模拟RTC的步骤

电子说

1.2w人已加入

描述

介绍
RTC (Real-Time Clock)实时时钟可以提供精确的实时时间,它可以用于产生年、月、日、时、分、秒等信息。目前实时时钟芯片大多采用精度较高的晶体振荡器作为时钟源。有些时钟芯片为了在主电源掉电时还可以工作,会外加电池供电,使时间信息一直保持有效。

RT-Thread 的 RTC设备为操作系统的时间系统提供了基础服务。面对越来越多的 IoT 场景,RTC 已经成为产品的标配,甚至在诸如 SSL 的安全传输过程中,RTC 已经成为不可或缺的部分。

步骤
首先启用软件模拟 RTC:

RTC

然后我们在 main.c 中加入如下内容:

#define RTC_NAME "rtc"
#include
static int rtc_sample(int argc, char argv[])
{
rt_err_t ret = RT_EOK;
time_t now;
rt_device_t device = RT_NULL;
/ 寻找设备 /
device = rt_device_find(RTC_NAME);
if (!device)
{
LOG_E("find %s failed!", RTC_NAME);
return RT_ERROR;
}
/ 初始化RTC设备 /
if(rt_device_open(device, 0) != RT_EOK)
{
LOG_E("open %s failed!", RTC_NAME);
return RT_ERROR;
}
/
设置日期 /
ret = set_date(2018, 12, 3);
if (ret != RT_EOK)
{
rt_kprintf("set RTC date failedn");
return ret;
}
/
设置时间 /
ret = set_time(11, 15, 50);
if (ret != RT_EOK)
{
rt_kprintf("set RTC time failedn");
return ret;
}
/
延时3秒 /
rt_thread_mdelay(3000);
/
获取时间 /
now = time(RT_NULL);
rt_kprintf("%sn", ctime(&now));
return ret;
}
/
导出到 msh 命令列表中 */
MSH_CMD_EXPORT(rtc_sample, rtc sample);
代码解读:首先设置了年月日时分秒信息为2018年12月3日11:15:50,然后延时 3 秒后获取当前时间信息,应当显示2018年12月3日11:15:53。

编译下载运行:

RTC

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分