mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-30 11:59:12 +03:00
Исправление ошибки компиляции
This commit is contained in:
BIN
lib/iarduino_RTC/extras/DS1302.pdf
Normal file
BIN
lib/iarduino_RTC/extras/DS1302.pdf
Normal file
Binary file not shown.
BIN
lib/iarduino_RTC/extras/DS1307.pdf
Normal file
BIN
lib/iarduino_RTC/extras/DS1307.pdf
Normal file
Binary file not shown.
BIN
lib/iarduino_RTC/extras/DS3231.pdf
Normal file
BIN
lib/iarduino_RTC/extras/DS3231.pdf
Normal file
Binary file not shown.
196
lib/iarduino_RTC/extras/RX8025.txt
Normal file
196
lib/iarduino_RTC/extras/RX8025.txt
Normal file
@@ -0,0 +1,196 @@
|
||||
Модуль часов реального времени RX-8025 SA/NB:
|
||||
|
||||
НАЗНАЧЕНИЕ ВЫВОДОВ:
|
||||
+-------+-----+----------------------------------------------------------------------------------------------------------------------------------------------+
|
||||
| Вывод | I/O | Назначение: |
|
||||
+-------+-----+----------------------------------------------------------------------------------------------------------------------------------------------+
|
||||
| SCL | I | Линия тактирования шины I2C. |
|
||||
| SDA | I/O | Линия данных шины I2C. |
|
||||
+-------+-----+----------------------------------------------------------------------------------------------------------------------------------------------+
|
||||
| FOUT | O | Выход тактового сигнала (32,768 кГц), работает при наличии 1 на выводе FOE. Если на FOE уровень 0 или OPEN, то FOUT=0. |
|
||||
| FOE | I | Вход управления выводом FOUT. Если FOE=1 то FOUT=32.768кГц. Если FOE=0 то FOUT=0. Вывод FOE толерантен к 5.5В, он внутрисхемно прижат к GND. |
|
||||
+-------+-----+----------------------------------------------------------------------------------------------------------------------------------------------+
|
||||
| /INTA | O | N-канальный выходом с открытым стоком, предназначен для вывода прерываний будильника Alarm_D и периодических прерываний. |
|
||||
| /INTB | O | N-канальный выходом с открытым стоком, предназначен для вывода прерываний будильника Alarm_W. |
|
||||
+-------+-----+----------------------------------------------------------------------------------------------------------------------------------------------+
|
||||
| TEST | − | Вывод используется производителем для тестирования. Обязательно подключите к Vcc. |
|
||||
| VDD | − | Vcc от +1.7В до +5.5В, номинально 3.0В. |
|
||||
| GND | − | GND. |
|
||||
| N.C. | − | На чипе RX-8025NB контакты N.C. соеденены друг с другом. Оставьте их неподключёнными или подключите все к Vcc или все к GND. |
|
||||
+-------+-----+----------------------------------------------------------------------------------------------------------------------------------------------+
|
||||
|
||||
ЛОГИЧЕСКИЕ УРОВНИ:
|
||||
Vin 0 = 0В...0,2Vcc
|
||||
Vin 1 = 0,8Vcc...5,5В
|
||||
|
||||
ФУНКЦИИ МОДУЛЯ:
|
||||
|
||||
1) ТЕКУЩЕЕ ВРЕМЯ:
|
||||
Модуль позволяет устанавливать, синхронизировать и отображать данные, включая год (последние две цифры), месяц, дату, день, час, минуту и секунду.
|
||||
Любой (двузначный) год, кратный 4, считается високосным и рассчитывается автоматически до 2099 года.
|
||||
2) ФУНКЦИЯ РЕГУЛИРОВКИ ТОЧНОСТИ ЧАСОВ:
|
||||
Точность часов можно отрегулировать вперед или назад изменив частоту с кварца 32,768 кГц с шагом ±3,05 × 10^–6.
|
||||
Для регулировки требуется записать в регистр Digital Offset знаковое значение в 7-битном двоичном коде (от −62 до +63).
|
||||
На предделитель часов поступит частота = 32768 Гц - DigitalOffset * 3,05 × 10^–6.
|
||||
Примечание: Можно настроить только точность часов. Настройки не влияют на выходной сигнал 32,768 кГц с вывода FOUT.
|
||||
3) ФУНКЦИЯ ПЕРИОДИЧЕСКОГО ПРЕРЫВАНИЯ:
|
||||
В дополнение к функции будильника Alarm_D через вывод /INTA могут выводиться периодические прерывания.
|
||||
Периодическое прерывание настраивается битами CT2-CT0 регистра Control-1.
|
||||
При срабатывании прерывания устанавливается флаг CTFG регистра Control-2, а на выводе /INTA устанавливается уровень логического 0.
|
||||
Сброс флага CTFG освобождает вывод /INTA до следующего прерывания.
|
||||
Биты CT2-CT0 позволяют выбрать частоту прерываний: 2 Гц (пол секунды), 1 Гц (ежесекундно), 1/60 Гц (ежеминутно), ежечасно или ежемесячно.
|
||||
4) ФУНКЦИИ БУДИЛЬНИКА:
|
||||
Модуль оснащен двумя будильниками (Alarm_D и Alarm_W), которые выводят сигнал прерывания (на выводы /INTA, /INTB) при совпадении времени.
|
||||
• Будильник Alarm_W на основе дня недели, часа и минут, выводит сигнал прерывания через вывод /INTB. Будильник позволяет выбрать несколько деней недели.
|
||||
Будильник срабатывает если он включён битом WALE регистра Control-1, при совпадении времени будильника с текущим временем.
|
||||
При срабатывании будильника устанавливается флаг WAFG регистра Control-2, а на выводе /INTB устанавливается уровень логического 0.
|
||||
Сброс флага WAFG освобождает вывод /INTB до следующего прерывания.
|
||||
Если для будильника установить текущее время, то он сработает не немедленно, а при следующем совпадении времени.
|
||||
Для установки нового времени будильника рекомендуется его отключить WALE=0, установить время будильника Alarm_W Minute/Hour/Day, сбросить прерывание будильника WAFG=0, включить будильник WALE=1.
|
||||
• Будильник Alarm_D использует только часы и минуты, выводит сигнал прерывания через вывод /INTA.
|
||||
Будильник срабатывает если он включён битом DALE регистра Control-1, при совпадении времени будильника с текущим временем.
|
||||
При срабатывании будильника устанавливается флаг DAFG регистра Control-2, в на выводе /INTA устанавливается уровень логического 0.
|
||||
Сброс флага DAFG освобождает вывод /INTA до следующего прерывания.
|
||||
Если для будильника установить текущее время, то он сработает не немедленно, а при следующем совпадении времени.
|
||||
Для установки нового времени будильника рекомендуется его отключить DALE=0, установить время будильника Alarm_D Minute/Hour, сбросить прерывание будильника DAFG=0, включить будильник DALE=1.
|
||||
5) ФУНКЦИЯ ОБНАРУЖЕНИЯ ОСТАНОВКИ КОЛЕБАНИЙ:
|
||||
При обнаружении остановки колебаний устанавливается флаг /XST регистра Control-2 (активный уровень 0) и остаётся в таком состоянии до его сброва в 1 по шине I2C.
|
||||
Это позволяет определить, что данные часов стали некорректными.
|
||||
6) ФУНКЦИЯ ОБНАРУЖЕНИЯ ПАДЕНИЯ МОЩНОСТИ (КОНТРОЛЬ НАПРЯЖЕНИЯ):
|
||||
При снижении Vcc ниже порогового уровня, устанавливается флаг VDET регистра Control-2 и остаётся в таком состоянии до его перезаписи в 0 по шине I2C.
|
||||
Выборка напряжения выполняется один раз в секунду.
|
||||
Пороговый уровень выбирается битом VDSL регистра Control-2, доступны значения 1.3В и 2.1 В.
|
||||
7) ФУНКЦИЯ ОБНАРУЖЕНИЯ СБРОСА ПРИ ВКЛЮЧЕНИИ ПИТАНИЯ:
|
||||
При подаче питания происходит сброс регистров в значение по умолчанию и установка флага PON регистра Control-2 в значение 1, это значение остается до его перезаписи в 0 по шине I2C.
|
||||
Пока флаг PON установлен в 1, все биты регистров Digital-Offset, Control-1 и Control-2 (кроме PON и /XST) сбрасываются в «0». Это также приводит к остановке прерываний на выводах /INTA и /INTB.
|
||||
Для начала работы необходимо сбросить флаг PON в 0, что перезапустит функцию обнаружения сброса при включении питания.
|
||||
8) ТАКТОВЫЙ ВЫХОД 32,768 кГц
|
||||
Тактовая частота 32,768 кГц (с точностью, равной точности встроенного кварцевого генератора) может выводиться через вывод с открытым стоком FOUT.
|
||||
Вывод FOUT включается подачей 1 на вход FOE. Если на вход FOE подать 0, то и на выходе FOUT будет 0.
|
||||
9) ИНТЕРФЕЙС
|
||||
Данные считываются и записываются через интерфейс шины I2C. Максимальная тактовая частота 400 кГц (при Vcc ≥ 1,7 В).
|
||||
|
||||
КАРТА РЕГИСТРОВ:
|
||||
+-------+-------------------+---------------------------------------------------------------------------------------------------+
|
||||
|Address| Function | 7 6 5 4 3 2 1 0 |
|
||||
+-------+-------------------+---------------------------------------------------------------------------------------------------+
|
||||
| 0 | Seconds | (0) S40 S20 S10 S8 S4 S2 S1 |
|
||||
| 1 | Minutes | (0) M40 M20 M10 M8 M4 M2 M1 |
|
||||
| 2 | Hours | (0) (0) H20 P,/A H10 H8 H4 H2 H1 |
|
||||
| 3 | Days | (0) (0) (0) (0) (0) W4 W2 W1 | Так написано в datasheet
|
||||
| | | (0) Сб Пт Чт Ср Вт Пн Вс | А так на самом деле. И модуль не определяет день недели, а тупо его увеличивает после 23:59:59
|
||||
| 4 | Days | (0) (0) D20 D10 D8 D4 D2 D1 |
|
||||
| 5 | Months | «0» (0) (0) MO10 MO8 MO4 MO2 MO1 |
|
||||
| 6 | Years | Y80 Y40 Y20 Y10 Y8 Y4 Y2 Y1 |
|
||||
+-------+-------------------+---------------------------------------------------------------------------------------------------+
|
||||
| 7 | Digital Offset | «0» F6 F5 F4 F3 F2 F1 F0 | Значения по умолчанию (с момента установки бита PON) 00000000
|
||||
+-------+-------------------+---------------------------------------------------------------------------------------------------+
|
||||
| 8 | Alarm_W Minute | (0) WM40 WM20 WM10 WM8 WM4 WM2 WM1 |
|
||||
| 9 | Alarm_W Hour | (0) (0) WH20 WP,/A WH10 WH8 WH4 WH2 WH1 |
|
||||
| A | Alarm_W Day | (0) WW6 WW5 WW4 WW3 WW2 WW1 WW0 |
|
||||
| B | Alarm_D Minute | (0) DM40 DM20 DM10 DM8 DM4 DM2 DM1 |
|
||||
| C | Alarm_D Hour | (0) (0) DH20 DP,/A DH10 DH8 DH4 DH2 DH1 |
|
||||
+-------+-------------------+---------------------------------------------------------------------------------------------------+
|
||||
| D | Reserved | - - - - - - - - |
|
||||
+-------+-------------------+---------------------------------------------------------------------------------------------------+
|
||||
| E | Control-1 | WALE DALE /12,24 • TEST CT2 CT1 CT0 | Значения по умолчанию (с момента установки бита PON) 00000000
|
||||
| F | Control-2 | VDSL VDET /XST PON • CTFG WAFG DAFG | Значения по умолчанию (с момента установки бита PON) 00?10000
|
||||
+-------+-------------------+---------------------------------------------------------------------------------------------------+
|
||||
|
||||
Осторожно:
|
||||
Бит PON Является битом флага сброса при включении питания. Устанавливается в 1, когда происходит сброс, например, при первоначальном включении питания или при восстановлении после падения напряжения питания.
|
||||
При этом все биты в регистрах Control-1 и Control-2, кроме битов PON и /XST, сбрасываются в 0.
|
||||
Примечание: Пока бит PON не установится в 1 все остальные значения регистров не определены, поэтому обязательно выполните сброс перед использованием модуля.
|
||||
Кроме того, избегайте ввода неверных данных о дате и времени, так как работа часов не гарантируется, если данные о времени неверны.
|
||||
Бит TEST Используется производителем для тестирования. Убедитесь, что для этого бита установлено значение «0».
|
||||
Reserved Регистр с адресом D используется для заводских настроек. Не читайте и не записывайте в этот регистр.
|
||||
Биты «0» Должны быть установлены в 0 при записи. Их значение при чтении будет 0.
|
||||
Биты (0) Доступны только для чтения. Их значение при чтении всегда равно 0.
|
||||
Биты • Являются битами ОЗУ, которые могут содержать любое значение и доступны для чтения/записи. Однако эти биты сбрасываются в 0, когда значение бита PON равно 1.
|
||||
|
||||
0) Seconds Регистр счётчика секунд в двоично-десятичном формате (0b X101 1001 = 59сек).
|
||||
1) Minutes Регистр счётчика минут в двоично-десятичном формате (0b X101 1001 = 59мин).
|
||||
2) Hours Регистр счётчика часов в двоично-десятичном формате (0b XX01 1001 = 19час).
|
||||
H20 P,/A В 24-часовом формате бит функционирует как H20
|
||||
В 12-часовом формате бит функционирует как P,/A (0-AM, 1-PM).
|
||||
Формат часов задаёт бит /12,24 регистра Control-1.
|
||||
3) Days Регистр счётчика дней недели (1-Пн, 6-Сб, 0-Вс). Значение 7-недопустимо. Так написано в datasheet, типа у регистра активны только 3 младших бита формирующих число от 0 до 6.
|
||||
А на самом деле регистр хранит 7 значащих бит. Установленный бит указывает на день недели: 0-бит Вс, 1-бит Пн, 2-бит Вт, ... 6-бит Сб, 7-бит всегда 0.
|
||||
4) Days Регистр счётчика дней в двоично-десятичном формате (0b XX11 0001 = 31день).
|
||||
5) Months Регистр счётчика месяцев в двоично-десятичном формате (0b XXX1 0010 = 12мес = декабрь).
|
||||
6) Years Регистр счётчика лет в двоично-десятичном формате (0b 1001 1001 = 99год).
|
||||
7) Digital Offset Регистр регулировки точности часов. Хранит знаковое значение в 7-битном двоичном коде (от −62 = 0bX1000010, до +63 = 0bX0111111)
|
||||
Частота поступающая на предделитель = 32768 Гц - DigitalOffset * 3,05 × 10^–6. (32768Гц−62*3,05×10^–6 = 32768Гц+189.1×10^–6)
|
||||
Функция цифрового смещения корректирует количество тактовых импульсов каждые 20 сек. (в 00сек, 20сек и 40сек каждой минуты)
|
||||
Частота на выходе FOUT не изменяется.
|
||||
8) Alarm_W Minute Регистр минут будильника Alarm_W. Формат хранения данных аналогичен регистру Minutes.
|
||||
9) Alarm_W Hour Регистр часов будильника Alarm_W. Формат хранения данных аналогичен регистру Hours.
|
||||
WH20 WP,/A В 24-часовом формате бит функционирует как WH20
|
||||
В 12-часовом формате бит функционирует как WP,/A (0-AM, 1-PM).
|
||||
Формат часов задаёт бит /12,24 регистра Control-1.
|
||||
A) Alarm_W Day Регистр дней недели будильника Alarm_W. Позволяет выбрать 1 до 7 дней недели.
|
||||
WW6-WW0 WW1-Пн, WW2-Вт, WW3-ср, WW4-Чт, WW5-Пт, WW6-Сб, WW0-Вс.
|
||||
Если все биты установлены в 0, то будильник Alarm_W выключен.
|
||||
B) Alarm_D Minute Регистр минут будильника Alarm_D. Формат хранения данных аналогичен регистру Minutes.
|
||||
C) Alarm_D Hour Регистр часов будильника Alarm_D. Формат хранения данных аналогичен регистру Hours.
|
||||
DH20 DP,/A В 24-часовом формате бит функционирует как DH20
|
||||
В 12-часовом формате бит функционирует как DP,/A (0-AM, 1-PM).
|
||||
Формат часов задаёт бит /12,24 регистра Control-1.
|
||||
E) Control-1 Регистр управления 1
|
||||
WALE Бит разрешения работы будильника Alarm_W.
|
||||
0 - будильник Alarm_W отключён.
|
||||
1 - будильник Alarm_W включён, при совпадении времени на выводе /INTB появляется прерывание.
|
||||
DALE Бит разрешения работы будильника Alarm_D.
|
||||
0 - будильник Alarm_D отключён.
|
||||
1 - будильник Alarm_D включён, при совпадении времени на выводе /INTA появляется прерывание.
|
||||
/12,24 Бит выбора формата часов текущего времени и будильников.
|
||||
0 - Часы текущего времени и будильников хранятся в 12-часовом формате.
|
||||
1 - Часы текущего времени и будильников хранятся в 24-часовом формате.
|
||||
•
|
||||
TEST
|
||||
CT2-CT0 Биты настройки периодического прерывания на выводе /INTA.
|
||||
000 − Периодическое прерывание отключено, вывод /INTA отключён.
|
||||
001 − Периодическое прерывание отключено, на выволе /INTA уровень 0.
|
||||
010 - Периодическое прерывание работает на частоте 2 Гц с коэффициентом заполнения 50%.
|
||||
011 - Периодическое прерывание работает на частоте 1 Гц с коэффициентом заполнения 50%.
|
||||
100 - Периодическое прерывание срабатывает в начале каждой секунды.
|
||||
101 - Периодическое прерывание срабатывает в начале 00 секунды каждой минуты.
|
||||
110 - Периодическое прерывание срабатывает в начале 00 секунды, 00 минуты каждого часа.
|
||||
111 - Периодическое прерывание срабатывает в начале 00 секунды, 00 минуты 00 часа каждого первого числа месяца.
|
||||
F) Control-2 Регистр управления 2
|
||||
VDSL Выбор порогового значения напряжения для функции обнаружения падения мощности.
|
||||
0 - 2,1 В в качестве порога функции обнаружения падения мощности.
|
||||
1 - 1,3 В в качестве порога функции обнаружения падения мощности.
|
||||
VDET Флаг функции обнаружения падения мощности. Устанавливается в 1 после падения Vcc ниже порога.
|
||||
Чтение: 0 - Падение мощности не обнаружено.
|
||||
1 - Обнаружено падение Vcc ниже порогового. Флаг остаётся 1 до его перезаписи в 0 по шине I2C.
|
||||
Запись: 0 - Сброс флага в 0 и перезапуск функции обнаружения падения мощности.
|
||||
1 - ЗАПРЕЩЕНО! НЕ ЗАПИСЫВАЙТЕ 1 ДАЖЕ ЕСЛИ ЭТО НЕ ИМЕЕТ ЭФФЕКТА.
|
||||
/XST Флаг функции обнаружения остановки колебаний.
|
||||
Чтение: 0 - Обнаружена остановка колебаний. Флаг остаётся 0 до его перезаписи в 1 по шине I2C.
|
||||
1 - Остановка колебаний не обнаружено.
|
||||
Запись: 0 - ЗАПРЕЩЕНО! НЕ ЗАПИСЫВАЙТЕ 0 ДАЖЕ ЕСЛИ ЭТО НЕ ИМЕЕТ ЭФФЕКТА.
|
||||
1 - Сброс флага в 1 и перезапуск функции обнаружения остановки колебаний.
|
||||
PON Флаг функции обнаружения сброса при включении питания.
|
||||
Чтение: 0 - Сброс при включении питания не обнаружен.
|
||||
1 - Обнаружен сброс при включении питания. Флаг остаётся 1 до его перезаписи в 0 по шине I2C.
|
||||
Пока флаг установлен в 1, все биты регистров Digital-Offset, Control-1 и Control-2 (кроме PON и /XST) сбрасываются в «0». Это также приводит к остановке прерываний на выводах /INTA и /INTB.
|
||||
Запись: 0 - Сброс флага в 0 и перезапуск функции обнаружения сброса при включении питания.
|
||||
1 - ЗАПРЕЩЕНО! НЕ ЗАПИСЫВАЙТЕ 1 ДАЖЕ ЕСЛИ ЭТО НЕ ИМЕЕТ ЭФФЕКТА.
|
||||
• Бит является битом ОЗУ, он может содержать любое значение и доступен для чтения/записи. Бит сбрасывается в 0 если обнаружен сброс при включении питания (PON=1).
|
||||
CTFG Флаг наличия периодического прерывания на выводе /INTA.
|
||||
Чтение: 0 - На выходе /INTA нет сигнала периодического прерывания.
|
||||
1 - На выходе /INTA установлен сигнал периодического прерывания.
|
||||
Запись: 0 - Сброс флага в 0 и освобождение /INTA до следующего прерывания. Сброс возможен если не поступает очередное прерывание и не срабатывает будильник Alarm_D.
|
||||
1 - ЗАПРЕЩЕНО! НЕ ЗАПИСЫВАЙТЕ 1 ДАЖЕ ЕСЛИ ЭТО НЕ ИМЕЕТ ЭФФЕКТА.
|
||||
WAFG Флаг будильника Alarm_W. Значение флага актуально если бит WALE регистра Control-1 равен 1.
|
||||
Чтение: 0 - Будильник Alarm_W не сработал или бит WALE регистра Control-1 равен 0.
|
||||
1 - Сработал будильник Alarm_W. Флаг остаётся 1 до его перезаписи в 0 по шине I2C.
|
||||
Запись: 0 - Сброс флага в 0 и отключение прерывания на выводе /INTB.
|
||||
1 - ЗАПРЕЩЕНО! НЕ ЗАПИСЫВАЙТЕ 1 ДАЖЕ ЕСЛИ ЭТО НЕ ИМЕЕТ ЭФФЕКТА.
|
||||
DAFG Флаг будильника Alarm_D. Значение флага актуально если бит DALE регистра Control-1 равен 1.
|
||||
Чтение: 0 - Будильник Alarm_D не сработал или бит DALE регистра Control-1 равен 0.
|
||||
1 - Сработал будильник Alarm_D. Флаг остаётся 1 до его перезаписи в 0 по шине I2C.
|
||||
Запись: 0 - Сброс флага в 0 и отключение прерывания на выводе /INTA.
|
||||
1 - ЗАПРЕЩЕНО! НЕ ЗАПИСЫВАЙТЕ 1 ДАЖЕ ЕСЛИ ЭТО НЕ ИМЕЕТ ЭФФЕКТА.
|
||||
|
||||
Reference in New Issue
Block a user