Mbed OS 文档翻译 之 参考(API(平台(RTC)))

RTC

RTC(实时时钟)提供了使用 set_time API 设置硬件 RTC 的当前时间的机制。时间设置为从时间纪元(Unix Epoch - 1970 年 1 月 1 日)以秒为单位测量的偏移量。

您可以使用 attach_rtc API 挂接外部 RTC 以使用 C 时间函数。它为您提供了附加的 init(),read(),write() 和 isenabled() 函数。Time 提供有关 C 日期和时间标准库函数的更多信息。

RTC 类 API 是线程安全的。

如果连接了二次电源(电池),RTC 即使在断电状态下也可以跟踪时间。

RTC 函数参考

mbed_rtc_time.h

RTC Time 示例

main.cpp                                                                                                                                              导入到 Mbed IDE

/* mbed Example Program
 * Copyright (c) 2006-2014 ARM Limited
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
#include "mbed.h"

int main() {
    set_time(1256729737);  // Set RTC time to Wed, 28 Oct 2009 11:35:37

    while (true) {
        time_t seconds = time(NULL);
        
        printf("Time as seconds since January 1, 1970 = %d\n", seconds);
        
        printf("Time as a basic string = %s", ctime(&seconds));

        char buffer[32];
        strftime(buffer, 32, "%I:%M %p\n", localtime(&seconds));
        printf("Time as a custom formatted string = %s", buffer);
        
        wait(1);
    }
}

猜你喜欢

转载自blog.csdn.net/u012325601/article/details/81772143