DS1302 настройка\вывод времени
- Войдите на сайт для отправки комментариев
подключена к выходу 5v
Доброго всем вечера, собсна проблема заключается в том, что помимо необходимой инфы выводится какой-то бред, типа стандартного времени или рандомной даты:
Вывод 1:
Friday 03.11.2015 — 04:35:55
304:35:55 00.00.2012 — 00:00:85
000:00:85 00.00.2012 — 00:00:85
Friday 03.11.2015 — 04:36:03
Friday 03.11.2015 — 04:36:05
Friday 03.11.2015 — 04:36:07
304:36:07 00.00.2012 — 00:00:85
000:00:85 00.00.2012 — 00:00:85
Friday 03.11.2015 — 04:36:15
Friday 03.11.2015 — 04:36:17
Friday 03.11.2015 — 04:36:19
вывод 2:
000:00:85 00.00.2012 — 00:00:85
000:00:85 00.00.2012 — 00:00:85
000:00:85 00.00.2012 — 00:00:85
000:00:85 00.00.2012 — 00:00:85
000:00:85 00.00.2012 — 00:00:85
000:00:85 00.00.2012 — 00:00:85
Friday 03.11.2015 — 19:50:39
319:50:39 00.00.2012 — 00:00:85
000:00:85 00.00.2012 — 00:00:85
Friday 03.11.2015 — 19:50:41
319:50:41 00.00.2012 — 00:00:85
Friday 03.11.2015 — 19:50:43
319:50:43 00.00.2012 — 00:00:85
Friday 03.11.2015 — 19:50:45
319:50:45 00.00.2012 — 00:00:85
Friday 03.11.2015 — 19:50:47
319:50:47 00.00.2012 — 00:00:85
Friday 03.11.2015 — 19:50:49
319:50:49 00.00.2012 — 00:00:85
Friday 03.11.2015 — 19:50:51
пример одного из кодов, которыми пытался её заставить работать:
#include <DS1302.h> // Подключение библиотеки часов.
// DS1302:
// CE pin -> Arduino Digital 3
// I/O pin -> Arduino Digital 1
// SCLK pin -> Arduino Digital 0
DS1302 rtc(45, 46, 44);
void setup()
{
// Запуск часов
rtc.halt(false);
rtc.writeProtect(false);
Serial.begin(9600);
// Три нижние строчки в первый раз раскомментированы, в них указываем текущую дату и время. Второй раз - закомментруем.
rtc.setDOW(THURSDAY); // День недели, если пятница, то FRIDAY на русском не писать!
rtc.setTime(20, 11, 0); // Часы, минуты, секунды 24-часовой формат.
rtc.setDate(03, 11, 2015);
}
void loop()
{
// Send Day-of-Week
Serial.print(rtc.getDOWStr());
Serial.print(" ");
// Send date
Serial.print(rtc.getDateStr());
Serial.print(" -- ");
// Send time
Serial.println(rtc.getTimeStr());
delay (1000);
}библиотеку для этого кода юзал http://kazus.ru/nuke/objects/circuits/Y/y6047y49d1p14587p726su88ihp6i867/file/2-DS1302.rar
цель вывод в консоль инфы о времени вида:
Monday 22.01.2018 — 00:00:00
Monday 22.01.2018 — 00:00:01
Monday 22.01.2018 — 00:00:02
Monday 22.01.2018 — 00:00:03
Monday 22.01.2018 — 00:00:04
нид хэлп, мб не там копаю, грешу уже на глюки чисто модуля 1302, тк в банальных туториал с простым кодом и библиотекой всё норм выводится хХ
А если в 31 строке написать
Serial.println(rtc.getTimeStr(FORMAT_SHORT));Не помогает? Хотя, вряд-ли, но попробуйте и скажите что поменялось.
Только пожалуйста, если Вы действительно хотите помощи, не надо "вывод 1", "вывод 2", "а вот один из скетчец". Публикуйте скетч и тот самый протокол, который именно этот скетч выдаёт. Иначе невозможно смотреть, понимаете?
хорошо, вот вывод, что дала замена на
Serial.println(rtc.getTimeStr(FORMAT_SHORT));после комментирования 3-ех строчек программирования, затем получения того результата, выключил питание на всей ардуино, включил и вывод стал:
походу батарейка не сохраняет время на часах, или я что-то не так делаю?
Знаете, я не парился с этой лишней информацией. Оная явно идёт после перевода строки. Я бы его искал сразу после получения строки и заменял бы на '\0'. Просто отбрасывал бы ненужное.