Arduino 配置PKE8720DF-C13-F10开发板 —— RTC 每秒打印时间信息

本文详细介绍了如何在Arduino中利用RTC模块每秒打印时间信息,包括RTC简介、代码解析(setup和loop函数)、电路连接步骤以及实验结果。

目录

1. RTC 简介

2. Arduino添加 “RTC每秒打印时间信息” Sketch code 

3.代码解析 

(1)setup函数:

(2)loop 函数:

4.电路连接

(1)材料准备

(2)电路连接

(3)端口设置与烧录

5.实验结果

 


关于PKE8720DF-C13-F10开发板 的具体介绍请参考:Arduino 配置PKE8720DF-C13-F10开发板——“Blink” 周期性点亮LED灯_zoey_O_o__的博客-优快云博客

1. RTC 简介

RTC(Real Time Clock)是一个独立的二进码十进制格式(BCD码)定时器/计数器。其中一个32位寄存器包括BCD格式表示的seconds、minutes、hours(12或24小时制),另一个32位寄存器包括二进制格式表示的days。BCD码是用4位二进制数来表示1位十进制数中的0~9这10个数码。另外可以自动将月份的天数计为28、29(闰年)、30、31天以及夏令时补偿。

只要工作电压维持在运行范围,不管在运行模式、低功耗模式还是重置情况下,RTC都不会停止。

2. Arduino添加 “RTC每秒打印时间信息” Sketch code 

由于Arduino 基于board“ AMB25/AMB26 (RTL8720DF) ”没有直接可用的RTC Examples,这里我们需要自己新建一个sketch:

  具体code 如下:

#include "rtc_api.h"
#include "wait_api.h"

void setup() {
  // put your setup code here, to run once:
    rtc_init();
    rtc_write(1256729737);  // Set RTC time to Wed, 28 Oct 2009 11:35:37
}

void loop() {
  // put your main code here, to run repeatedly:
    time_t seconds;
    struct tm *timeinfo;

    while(1) {
        seconds = rtc_read();
        timeinfo = localtime(&seconds);

        DiagPrintf("Time as seconds since January 1, 1970 = %d\n", seconds);

        DiagPrintf("Time as a basic string = %s", ctime(&seconds));

        DiagPrintf("Time as a custom formatted string = %d-%d-%d %d:%d:%d\n", 
            timeinfo->tm_year+1900, timeinfo->tm_mon+1, timeinfo->tm_mday, timeinfo->tm_hour,
            timeinfo->tm_min,timeinfo->tm_sec);

  
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值