1

Тема: Проверка DS3231

http://forum.rcl-radio.ru/uploads/images/2019/09/a894ae03751d73abf9525b2c35564a8a.png


  #include <Wire.h>
  #include <DS3231.h>
   DS3231 clock;
   RTCDateTime DateTime;

 void setup() { Serial.begin(9600);clock.begin();
   // clock.setDateTime(__DATE__, __TIME__); // Устанавливаем время на часах, основываясь на времени компиляции скетча
 }

 void loop() {
    DateTime = clock.getDateTime(); 
   Serial.println(DateTime.second);
   delay(1000);
}

2

Re: Проверка DS3231

Хм... Не работает.
Какая библиотека используется? Эта - <DS3231.h>//https://github.com/jarzebski/Arduino-DS3231/archive/master.zip ?
У меня на неё компилятор ругается, выдаёт кучу предупреждений.

3

Re: Проверка DS3231

Данный контент доступен только зарегистрированным пользователям.

4

Re: Проверка DS3231

Именно эту библиотеку я и использовал. Всё равно не работает. Скетч зависает на строке "clock.begin();"
При компиляции компилятор выдаёт:
...libraries\DS3231\DS3231.cpp:1206:11: warning: extra tokens at end of #endif directive
     #endif;
           ^
...libraries\DS3231\DS3231.cpp: In member function 'char* DS3231::dateFormat(const char*, RTCDateTime)':
...libraries\DS3231\DS3231.cpp:173:10: warning: address of local variable 'buffer' returned [-Wreturn-local-addr]
     char buffer[255];
и т.д.

5

Re: Проверка DS3231

Вот тестовый скетч расположенный в самой библиотеке

#include <Wire.h>
#include <DS3231.h>

DS3231 clock;
RTCDateTime dt;

void setup()
{
  Serial.begin(9600);

  // Initialize DS3231
  Serial.println("Initialize DS3231");;
  clock.begin();

  // Set sketch compiling time
  clock.setDateTime(__DATE__, __TIME__);
}

void loop()
{
  dt = clock.getDateTime();

  // For leading zero look to DS3231_dateformat example

  Serial.print("Raw data: ");
  Serial.print(dt.year);   Serial.print("-");
  Serial.print(dt.month);  Serial.print("-");
  Serial.print(dt.day);    Serial.print(" ");
  Serial.print(dt.hour);   Serial.print(":");
  Serial.print(dt.minute); Serial.print(":");
  Serial.print(dt.second); Serial.println("");

  delay(1000);
}

6

Re: Проверка DS3231

В моем скетче не была подключена библиотека wire

#include <Wire.h>

7

Re: Проверка DS3231

1. Это ппц... Даже стыдно признаться, у модуля часов была трещина дорожки SDA. Поэтому и не проходила инициализация библиотеки clock.begin().
2. Про #include <Wire.h> не стоит волноваться, внутри DS3231.cpp это уже прописано.
3. Предупреждения компилятора остались. Что логично, это программная проблема.

P.S. Спасибо за помощь.