Is there an efficient way to communicate with an external RTC and then share that time/value with many tasks that could be requesting that value at any moment without an expensive in/out queue implementation between requesting tasks and the actual RTC task? Surely someone has had to do this before. Thanks!
Is it possible to express the current time as e.g. seconds after 1-1-1970?
Note that there are date-conversion functions in
The cheapest way to share a 32-bit value on a 32-bit MCU would be to declare it as volatile variable:
volatile u32_t ulRTCTime;
( provide an access function if you want to avoid the use of global variables ).
If the architecture not support 32-bit access, you will need a mutex/semaphore to protect the value from getting changed while reading it.