DS3231
описание библиотеки для использования в Arduino модуля реального времени DS3231 на русском языке
Скачать: на официальном сайте зеркало1 зеркало2
Структура:
Time;
Структура управления данными времени и даты.
Переменные:
hour, min, sec: Для определения данных времени
date, mon, year: Для определения данных даты
dow: День недели, начиная с понедельника
Пример: Time t; // Определяем структуру с именем t класса "время"
FORMAT_LITTLEENDIAN: 1 (дд.мм.гггг)
FORMAT_BIGENDIAN: 2 (гггг.мм.дд)
FORMAT_MIDDLEENDIAN: 3 (мм.дд.гггг)
Частота на выходе SQW
Логический уровень на выходе INT/SQW
getTime();
getTemp();
Переменные:
hour, min, sec: Для определения данных времени
date, mon, year: Для определения данных даты
dow: День недели, начиная с понедельника
Пример: Time t; // Определяем структуру с именем t класса "время"
Определенные литералы:
Дни недели
Используется совместно с setDOW() и Time.dow
MONDAY: 1
TUESDAY: 2
WEDNESDAY: 3
THURSDAY: 4
FRIDAY: 5
SATURDAY: 6
SUNDAY: 7
MONDAY: 1
TUESDAY: 2
WEDNESDAY: 3
THURSDAY: 4
FRIDAY: 5
SATURDAY: 6
SUNDAY: 7
Длина названия
Используется совместно с getTimeStr(), getDateStr(), getDOWStr() and getMonthStr()
FORMAT_SHORT: 1 (полное название)
FORMAT_LONG: 2 (сокращенное (3 буквенное) название)
Формат даты
Используется совместно с getDateStr()FORMAT_LITTLEENDIAN: 1 (дд.мм.гггг)
FORMAT_BIGENDIAN: 2 (гггг.мм.дд)
FORMAT_MIDDLEENDIAN: 3 (мм.дд.гггг)
Частота на выходе SQW
Используется совместно с setSQWRate()
SQW_RATE_1: 1 (1 Гц)
SQW_RATE_1K: 2 (1024 Гц)
SQW_RATE_4K: 3 (4096 Гц)
SQW_RATE_8K: 4 (8192 Гц)
Логический уровень на выходе INT/SQW
Используется совместно с setOutput()
OUTPUT_SQW: 1
OUTPUT_INT: 2
Функции:
DS3231(SDA, SCL);
Инициализация библиотеки с помощью интерфейса I2C
Параметры:
SDA: Вывод подключения SDA-пина DS3231
SCL: Вывод подключения SCL-пина DS3231
Пример: DS3231 rtc(SDA, SCL); // Инициализация библиотеки DS3231 с помощью интерфейса I2C
getTime();
Считать текущие данные из DS3231.
Параметры: Нет
Возврат: формат Time-structure
Пример: t = rtc.getTime(); // Считать текущую дату и время.
getTimeStr([format]);
Считать текущее время в виде строковой переменной.
Параметры:
format: <необязательный параметр>
FORMAT_LONG "ЧЧ:ММ:СС" (По умолчанию)
FORMAT_SHORT "ЧЧ:ММ"
Возврат: Строковое значение, содержащее текущее время с секундами или без них.
Пример: Serial.print(rtc.getTimeStr()); // Отправить текущее время через последовательный порт
getDateStr([slformat[, eformat[, divider]]]);
Считать текущую дату в виде строковой переменной.
Параметры:
slformat: <необязательный параметр>
FORMAT_LONG Год из 4х цифр (ГГГГ) (По умолчанию)
FORMAT_SHORT Год из 2х цифр (ГГ)
eformat: <необязательный параметр>
FORMAT_LITTLEENDIAN "ДД.ММ.ГГГГ" (По умолчанию)
FORMAT_BIGENDIAN "ГГГГ.ММ.ДД"
FORMAT_MIDDLEENDIAN "ММ.ДД.ГГГГ"
divider: <необязательный параметр>
Символ для разделения. По умолчанию '.'
Возврат: Строковое значение, содержащее текущую дату в указанном формате.
Пример: Serial.print(rtc.getDateStr()); // Отправить текущую дату через последовательный порт (В формате "ДД.ММ.ГГГГ")
getDOWStr([format]);
Считать текущий день недели в виде строковой переменной.
Параметры:
format: <необязательный параметр>
FORMAT_LONG День недели на английском языке (По умолчанию)
FORMAT_SHORT Сокращенное название дня недели на английском языке (3 символа)
Возврат: Строковое значение, содержащее текущий день день недели в полном или сокращенном формате.
Пример: Serial.print(rtc.getDOWStr(FORMAT_SHORT)); // Отправить сокращенное название текущего дня недели через последовательный порт
getMonthStr([format]);
Считать текущий месяц в виде строковой переменной.
Параметры:
format: <необязательный параметр>
FORMAT_LONG название месяца на английском языке (По умолчанию)
FORMAT_SHORT Сокращенное название месяца на английском языке (3 символа)
Возврат: Строковое значение, содержащее текущий месяц в полном или сокращенном формате.
Пример: Serial.print(rtc.getMonthStr()); // Отправить название текущего месяца через последовательный порт
getUnixTime(time);
Преобразование значения времени и даты в формат Unix Time (UNIX-время).
Параметры:
Время: Переменная, содержащее дату и время для преобразования
Возврат: Unix Time для предоставленного значения времени
Пример: Serial.print(rtc.getUnixTime(rtc.getTime())); // Отправить текущее значение Unixtime через последовательный порт
Примечание: UNIX-время (англ. Unix time) или POSIX-время — система описания моментов во времени, принятая в UNIX и других POSIX-совместимых операционных системах. Определяется как количество секунд, прошедших с полуночи (00:00:00 UTC) 1 января 1970 года (четверг); время с этого момента называют «эрой UNIX» (англ. Unix Epoch).
getTemp();
Получить текущую температуру от внутреннего термометра DS3231.
Параметры: Нет
Возврат: Значение текущей температуры (с плавающей точкой) микросхемы DS3231 в ° Цельсия
Пример: Serial.print(rtc.getTemp()); // Отправить значение температуры через последовательный порт
Примечание: Внутренняя температура измеряется и обновляются каждые 64 секунд.
Температура измеряется с точностью 0,25° C.
setTime(hour, min, sec);
Установка времени.
Параметры:
hour: Часы (0-23)
min: Минуты (0-59)
sec: Секунды (0-59)
Пример: rtc.setTime(23, 59, 59); // Установка времени 23:59:59
setDate(date, mon, year);
Установка даты.
Параметры:
date: День (1-31)
mon: Месяц (1-12)
year: Год (2000-2099)
Пример: rtc.setDate(16, 5, 2016); // Установка даты 16 мая 2016г.
Примечание: Защиты от ввода неправильной даты нет. Т.е., возможно ввести 31 февраля, но результат будет не предсказуем
setDOW(dow);
Установка дня недели.
Параметры:
dow: <необязательный параметр> День недели (1-7)
Если параметр не задан, значение параметра будет рассчитываться на основе данных, хранящихся в настоящее время в DS3231.
Пример: rtc.setDOW(FRIDAY); // Установить день недели - Пятница
Примечание: Устанавливаются от понедельника (1) до воскресенья (7).
Отличный пост, все ясно и просто для понимания начинающих, продолжайте в том же духе
ОтветитьУдалитьСогласен. Супер.
УдалитьЭтот комментарий был удален автором.
ОтветитьУдалитьдобрый день. у меня такая проблема.секунды идут паралельно с днем месяца,месяц с минутами.библиотеки пробовал всякие но результата нет.модуль на выброс?или есть способ поправить дело.
ОтветитьУдалитьВсё ясно и всё работает. На других сайтах смотрел, а этот самый лучший для всех библиотек.
ОтветитьУдалитьррр
ОтветитьУдалить