
Simple test of DS1302 Real Time Clock module and an STM32 NUCLEO F441RE board.
main.cpp@0:2a445788550e, 21 months ago (annotated)
- Committer:
- loarri
- Date:
- Wed Jun 09 20:06:08 2021 +0000
- Revision:
- 0:2a445788550e
Simple test for DS1302 Real Time clock module and a STM NUCLEO F411RE board.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
loarri | 0:2a445788550e | 1 | /* |
loarri | 0:2a445788550e | 2 | -------------------- |
loarri | 0:2a445788550e | 3 | Author: L. Arrigoni |
loarri | 0:2a445788550e | 4 | May 2021 |
loarri | 0:2a445788550e | 5 | -------------------- |
loarri | 0:2a445788550e | 6 | |
loarri | 0:2a445788550e | 7 | Simple test with RTC module and STM32F411RE Nucleo board. |
loarri | 0:2a445788550e | 8 | DS1302 powered by 3.3 V without pull up resistor on I2C lines |
loarri | 0:2a445788550e | 9 | |
loarri | 0:2a445788550e | 10 | */ |
loarri | 0:2a445788550e | 11 | |
loarri | 0:2a445788550e | 12 | |
loarri | 0:2a445788550e | 13 | #define SCLK D15 |
loarri | 0:2a445788550e | 14 | #define IO D14 |
loarri | 0:2a445788550e | 15 | #define CE D8 |
loarri | 0:2a445788550e | 16 | |
loarri | 0:2a445788550e | 17 | //Comment this line if the DS1302 is already running |
loarri | 0:2a445788550e | 18 | //#define INITIAL_RUN |
loarri | 0:2a445788550e | 19 | |
loarri | 0:2a445788550e | 20 | #include "mbed.h" |
loarri | 0:2a445788550e | 21 | #include "DS1302.h" |
loarri | 0:2a445788550e | 22 | |
loarri | 0:2a445788550e | 23 | DS1302 clk(SCLK, IO, CE); |
loarri | 0:2a445788550e | 24 | |
loarri | 0:2a445788550e | 25 | int main() { |
loarri | 0:2a445788550e | 26 | #ifdef INITIAL_RUN |
loarri | 0:2a445788550e | 27 | //clk.set_time(1256729737); |
loarri | 0:2a445788550e | 28 | clk.set_time(1623257900); //from https://www.unixtimestamp.com/ |
loarri | 0:2a445788550e | 29 | #endif |
loarri | 0:2a445788550e | 30 | |
loarri | 0:2a445788550e | 31 | char storedByte = clk.recallByte(0); |
loarri | 0:2a445788550e | 32 | printf("\r\nStored byte was %d, now increasing by one\r\n", storedByte); |
loarri | 0:2a445788550e | 33 | clk.storeByte(0, storedByte + 1); |
loarri | 0:2a445788550e | 34 | |
loarri | 0:2a445788550e | 35 | while(1) { |
loarri | 0:2a445788550e | 36 | time_t seconds = clk.time(NULL); |
loarri | 0:2a445788550e | 37 | printf("Date and time: %s\r", ctime(&seconds)); |
loarri | 0:2a445788550e | 38 | wait(1); |
loarri | 0:2a445788550e | 39 | } |
loarri | 0:2a445788550e | 40 | } |
loarri | 0:2a445788550e | 41 | |
loarri | 0:2a445788550e | 42 |