[工业级智能控制MCU 匠芯创D133CBS] 7 - RTC 时钟测试
<p><strong><span style="font-size:22px;">简介</span></strong></p><p> </p>
<p>Real Time Clock (RTC) 模块用于日期时间的保存和更新,在无网络下为系统提供一份有效的日期和时间。通过备用电池供电,在断电场景下也可以一直计数和保存时间,同时还有闹钟唤醒的功能。在本章节我们将详细的对匠芯创D133CBS 的RTC时钟进行测试。</p>
<p> </p>
<p><strong><span style="font-size:22px;">提前准备工作</span></strong></p>
<p> </p>
<p>在使用RTC之前请确保J9也就是下图标红的地方插入了纽扣电池并且正常供电</p>
<p> </p>
<p><strong><span style="font-size:22px;"> 配置步骤</span></strong></p>
<p> </p>
<p><strong>1- 在 Luban-Lite 根目录下执行 </strong><code class="hljs">scons --menuconfig</code>进入 menuconfig 的功能配置界面,按如下选择:</p>
<p> </p>
<p><strong>2- 在menuconfig 开启rtc的测试驱动</strong></p>
<p> </p>
<p> </p>
<p>此时位于<strong>bsp/examples/test-rtc </strong>将会被配置并且添加到编译的上下文中。</p>
<p> </p>
<p> </p>
<p>上述代码主要用于设置RTC的时钟以及打印设置后的时间,并且通过Finsh进行执行。</p>
<p> </p>
<p><strong>3- 创建时间打印任务(避免重复设置日期时间)</strong></p>
<p>我们自己创建一个输出当前时间的任务,用于每一秒向控制台输出时间</p>
<p> </p>
<pre>
<code class="language-cpp">#include <rtthread.h>
#include <rtdevice.h>
#include <ulog.h>
#include <finsh.h>
#include <drivers/rtc.h>
#include <drivers/alarm.h>
#include "aic_core.h"
void rtc_printf(void *agrs)
{
struct tm *local_time;
time_t now;
while (1)
{
now = time(RT_NULL);
local_time = localtime(&now);
rt_kprintf("date: %04d-%02d-%02d\n", local_time->tm_year + 1900, local_time->tm_mon + 1, local_time->tm_mday);
rt_kprintf("time: %02d:%02d:%02d\n", local_time->tm_hour, local_time->tm_min, local_time->tm_sec);
rt_thread_delay(1000);
}
}
MSH_CMD_EXPORT(rtc_printf, rtc_printf);
int main(void)
{
rt_thread_t tid = RT_NULL;
tid = rt_thread_create("RTC_read", rtc_printf, RT_NULL, 1024, 20, 5);
rt_thread_startup(tid);
return 0;
}
</code></pre>
<p> </p>
<p><strong>4- 将代码烧录到开发板中</strong></p>
<p> </p>
<p><strong>5- 打开控制台输入test_rtc 设置日期时间</strong></p>
<p> <strong> </strong></p>
<p><strong>6-控制台每隔一秒输出当前的时间</strong></p>
<p> </p>
<p> </p>
<p>那么目前开发板中设置的时间大概为 2024-11-08 01:01:33. 现在我将记录下当前的时间并且将开发板断电,等到明天早上在评论区更新一下明天的开发板内的时间</p>
<p> </p>
<p> </p>
<p><strong>历史测评链接</strong></p>
<p> </p>
<p>[工业级智能控制MCU 匠芯创D133CBS] 1 - 开箱及其环境搭建 <a href="https://bbs.eeworld.com.cn/thread-1290588-1-1.html" target="_blank">https://bbs.eeworld.com.cn/thread-1290588-1-1.html</a></p>
<p>[工业级智能控制MCU 匠芯创D133CBS] 2 - 创建项目及其注意事项 <a href="https://bbs.eeworld.com.cn/thread-1290861-1-1.html" target="_blank">https://bbs.eeworld.com.cn/thread-1290861-1-1.html</a></p>
<p>[工业级智能控制MCU 匠芯创D133CBS] 3 - GPIO-IO中断 <a href="https://bbs.eeworld.com.cn/thread-1290902-1-1.html" target="_blank">https://bbs.eeworld.com.cn/thread-1290902-1-1.html</a></p>
<p>[工业级智能控制MCU 匠芯创D133CBS] 4- BUG 反馈 (SDK lunch11 包更新错误) <a href="https://bbs.eeworld.com.cn/thread-1290904-1-1.html" target="_blank">https://bbs.eeworld.com.cn/thread-1290904-1-1.html</a></p>
<p>[工业级智能控制MCU 匠芯创D133CBS] 5- 使用RTT-软件包结合IIC读取BH1750 <a href="https://bbs.eeworld.com.cn/thread-1291002-1-1.html" target="_blank">https://bbs.eeworld.com.cn/thread-1291002-1-1.html</a></p>
<p>[工业级智能控制MCU 匠芯创D133CBS] 6 - PWM 输出 <a href="https://bbs.eeworld.com.cn/thread-1291463-1-1.html" target="_blank">https://bbs.eeworld.com.cn/thread-1291463-1-1.html</a></p>
<p>01:06:00</p>
<p>date: 2024-11-08<br />
time: 18:16:59</p>
页:
[1]