суббота, 29 октября 2016 г.

Библиотека DS3234

DS3234

описание библиотеки для использования в Arduino модуля реального времени DS3234 на русском языке

Введение: 

   Эта библиотека была написана для легкого взаимодействия и использования модуля на микросхеме DS3234 с Arduino или chipKit 
    Для работы данной библиотеки необходимо, чтобы модули были соединены между собой при помощи шины SPI с использованием соответствующих для этого выводов микроконтроллера (подробности ниже).


Используемые выводы:



  • Обратите внимание, что на всех платах выводы MISO, MOSI и SCK соединены с одними и теми же контактами разъема ICSP. 
  • На платах, имеющих перемычки Master/Slave  для выбора режима шины SPI, должен быть выбран режим Master  

Контакты разъема ICSP:



Важная информация:

Данная библиотека проверена RTC модулем, запитанным от напряжения 3.3В. Хотя микросхема DS3234 поддерживает питание до 5.5В, разработчик рекомендует питать ее от 3.3В.

Все входы микросхемы допускают уровень сигнала 5.5В, даже если напряжение питания 3.3В.

Структура:

Time;
Структура управления данными времени и даты.
Переменные: 
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

Длина названия
Используется совместно с getTimeStr(), getDateStr(), getDOWStr() and getMonthStr()
FORMAT_SHORT: 1 (полное название)
FORMAT_LONG:    2 (сокращенное (3 буквенное) название)


Формат даты
Используется совместно с getDateStr()
FORMAT_LITTLEENDIAN:    1  (дд.мм.гггг)
FORMAT_BIGENDIAN:           2  (гггг.мм.дд)

FORMAT_MIDDLEENDIAN:  3  (мм.дд.гггг)

Функции:


DS3234(CE);
Инициализация библиотеки с указанием вывода (пина) подключения к Arduino
Параметры:
CE: Вход подключения CE-вывода микросхемы DS3234
Пример: DS3234 rtc(8); // создаем объект часов с именем rtc и указываем вывод к которому подключен CE (в данном случае вывод 8)

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(28, 10, 2016); // Установка даты 28 октября 2016г.
Примечание: Защиты от ввода неправильной даты нет. Т.е., возможно ввести 31 февраля, но результат будет не предсказуем

setDOW(dow);
Установка дня недели.
Параметры: 
dow: День недели (1-7)
Пример: rtc.setDOW(FRIDAY); // Установить день недели - Пятница
Примечание: Устанавливаются от понедельника (1) до воскресенья (7).

getTime();
Считать текущие данные из DS3234.
Параметры: 
format: <необязательный параметр>
     FORMAT_LONG "ЧЧ:ММ:СС" (По умолчанию)
     FORMAT_SHORT "ЧЧ:ММ"
Возврат: Строковое значение, содержащее текущее время с секундами или без них.
Пример: t = rtc.getTime(); // Считать текущую дату и время.

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()); // Отправить название текущего месяца через последовательный порт

getTemp();
Получить текущую температуру от внутреннего термометра DS3234.
Параметры: Нет
Возврат: Значение текущей температуры  (с плавающей точкой) микросхемы DS3234 в ° Цельсия
Пример: temp = rtc.getTemp()); // Считать текущее значение температуры и присвоить ее значение переменной temp
Примечание: Температура имеет погрешность ±3° C и измеряется с точностью до 0,25° C.
 Внутренняя температура измеряется и обновляются каждые 64 секунд.

poke(address, value);
Записать 1 байт в ОЗУ микросхемы
Параметры: 
address: Адрес для записи байта (0-255)
value : Значение для записи по адресу <address> (0-255)
Возврат: Нет
Пример: rtc.poke(15, 160); // Записать 160 по адресу 15

peek(address);
Считать 1 байт из ОЗУ микросхемы
Параметры: 
address: Адрес для чтения байта (0-255)
Возврат: 1 байт данных, считанных из ОЗУ микросхемы
Пример: b=rtc.peek(18); // Считать 1 байт по адресу 18 и записать значение в переменную b

Комментариев нет:

Отправить комментарий