RTC
The RTC (Real-Time Clock) provides mechanisms to set the current time of the hardware RTC with set_time
API. The time is set as an offset measured in seconds from the time epoch (Unix Epoch - January 1, 1970).
You can use the attach_rtc
API to hook external RTC for using C time functions. It provides you with init()
, read()
, write()
and isenabled()
functions to be attached. Time provides more information about C date
and time
standard library functions.
RTC class APIs are thread safe.
RTC can keep track of time even in a powered down state if the secondary source of power (battery) is connected.
RTC function reference
RTC Time example
/* 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 = %u\n", (unsigned int)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);
}
}