Mbed OS Reference
Loading...
Searching...
No Matches
rtc_time functions

Data Structures

struct  timeval
 

Functions

void set_time (time_t t)
 Implementation of the C time.h functions. More...
 
void attach_rtc (time_t(*read_rtc)(void), void(*write_rtc)(time_t), void(*init_rtc)(void), int(*isenabled_rtc)(void))
 Attach an external RTC to be used for the C time functions. More...
 
int gettimeofday (struct timeval *tv, void *tz)
 Standard lib retarget, get time since Epoch. More...
 
int settimeofday (const struct timeval *tv, const struct timezone *tz)
 Standard lib retarget, set time since Epoch. More...
 

Detailed Description

Function Documentation

◆ set_time()

void set_time ( time_t  t)

Implementation of the C time.h functions.

Provides mechanisms to set and read the current time, based on the microcontroller Real-Time Clock (RTC), plus some standard C manipulation and formatting functions.

Example:

#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);
ThisThread::sleep_for(1000);
}
}
void set_time(time_t t)
Implementation of the C time.h functions.

Set the current time

Initializes and sets the time of the microcontroller Real-Time Clock (RTC) to the time represented by the number of seconds since January 1, 1970 (the UNIX timestamp).

Parameters
tNumber of seconds since January 1, 1970 (the UNIX timestamp)
Note
Synchronization level: Thread safe

Example:

#include "mbed.h"
int main() {
set_time(1256729737); // Set time to Wed, 28 Oct 2009 11:35:37
}

◆ attach_rtc()

void attach_rtc ( time_t(*)(void)  read_rtc,
void(*)(time_t)  write_rtc,
void(*)(void)  init_rtc,
int(*)(void)  isenabled_rtc 
)

Attach an external RTC to be used for the C time functions.

Note
Synchronization level: Thread safe
Parameters
read_rtcpointer to function which returns current UNIX timestamp
write_rtcpointer to function which sets current UNIX timestamp, can be NULL
init_rtcpointer to function which initializes RTC, can be NULL
isenabled_rtcpointer to function which returns if the RTC is enabled, can be NULL

◆ gettimeofday()

int gettimeofday ( struct timeval tv,
void *  tz 
)

Standard lib retarget, get time since Epoch.

Parameters
tvStructure containing time_t seconds and useconds_t microseconds. Due to separate target specific RTC implementations only the seconds component is used.
tzDEPRECATED IN THE STANDARD: This parameter is left in for legacy code. It is not used.
Returns
0 on success, -1 on a failure.
Note
Synchronization level: Thread safe

◆ settimeofday()

int settimeofday ( const struct timeval tv,
const struct timezone *  tz 
)

Standard lib retarget, set time since Epoch.

Parameters
tvStructure containing time_t seconds and useconds_t microseconds. Due to separate target specific RTC implementations only the seconds component is used.
tzDEPRECATED IN THE STANDARD: This parameter is left in for legacy code. It is not used.
Returns
Time in seconds on success, -1 on a failure.
Note
Synchronization level: Thread safe