介绍
RTC (Real-Time Clock)实时时钟可以提供精确的实时时间,它可以用于产生年、月、日、时、分、秒等信息。目前实时时钟芯片大多采用精度较高的晶体振荡器作为时钟源。有些时钟芯片为了在主电源掉电时还可以工作,会外加电池供电,使时间信息一直保持有效。
RT-Thread 的 RTC设备为操作系统的时间系统提供了基础服务。面对越来越多的 IoT 场景,RTC 已经成为产品的标配,甚至在诸如 SSL 的安全传输过程中,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。
编译下载运行:

-
实时时钟
+关注
关注
4文章
325浏览量
67979 -
晶体振荡器
+关注
关注
9文章
732浏览量
32818 -
电池供电
+关注
关注
0文章
448浏览量
23146 -
RTC
+关注
关注
2文章
638浏览量
70970 -
ART-Pi
+关注
关注
0文章
23浏览量
1757
发布评论请先 登录
基于ART-PI的数字图像处理与识别方案资料
ART-PI重力感应无线智能小车设计实现
基于ART-Pi Smart平台的设计方案推荐
基于ART-Pi与SX1302的设计资料分享
ART-PI在MDK中使用SDIO设备的方法
使用ART-Pi ST-LINK的步骤教程
关于ART-PI的基本使用例程简单描述
NimBLE软件包在ART-Pi bsp工程下的使用
ART-Pi LoRa开发套件教程相关资料分享
【STM32H750】玩转ART-Pi(一)——使用STM32CUBMX生成TouchGFX工程
【技术三千问】之《玩转ART-Pi》,看这篇就够了!
ART-PI重力感应无线智能小车第一弹——ART-PI扩展板设计

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