Simple test of DS1302 Real Time Clock module and an STM32 NUCLEO F441RE board.

Dependencies:   mbed DS1302

https://os.mbed.com/media/uploads/loarri/20210609_225026_girata.jpg

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?

UserRevisionLine numberNew 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