Подскажите что случилось. (DS3231)
- Войдите на сайт для отправки комментариев
Вс, 23/04/2017 - 10:48
Не понятно с чего при компиляции скетча стало выдавать кучу варнингов, при чём скетч компилится, а будильник по моему не работает. Есть подозрение что после очередного обновления библиотек плат. Вот что пишет компилятор:
C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:1206:11: warning: extra tokens at end of #endif directive #endif; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp: In member function 'char* DS3231::dateFormat(const char*, RTCDateTime)': C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:173:10: warning: address of local variable 'buffer' returned [-Wreturn-local-addr] char buffer[255]; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp: In member function 'char* DS3231::dateFormat(const char*, RTCAlarmTime)': C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:301:10: warning: address of local variable 'buffer' returned [-Wreturn-local-addr] char buffer[255]; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp: In member function 'char* DS3231::strDayOfWeek(uint8_t)': C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:960:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] return "Monday"; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:963:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] return "Tuesday"; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:966:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] return "Wednesday"; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:969:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] return "Thursday"; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:972:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] return "Friday"; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:975:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] return "Saturday"; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:978:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] return "Sunday"; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:981:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] return "Unknown"; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp: In member function 'char* DS3231::strMonth(uint8_t)': C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:989:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] return "January"; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:992:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] return "February"; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:995:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] return "March"; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:998:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] return "April"; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:1001:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] return "May"; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:1004:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] return "June"; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:1007:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] return "July"; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:1010:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] return "August"; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:1013:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] return "September"; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:1016:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] return "October"; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:1019:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] return "November"; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:1022:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] return "December"; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:1025:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] return "Unknown"; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp: In member function 'char* DS3231::strAmPm(uint8_t, bool)': C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:1035:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] return "AM"; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:1038:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] return "am"; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:1044:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] return "PM"; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:1047:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] return "pm"; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp: In member function 'char* DS3231::strDaySufix(uint8_t)': C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:1056:16: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] return "st"; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:1060:16: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] return "nd"; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:1064:16: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] return "rd"; ^ C:\Program Files\Arduino\libraries\DS3231\DS3231.cpp:1067:12: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] return "th"; ^
Перед этим отказалась работать библиотека Ultrasonic пришлось использовать код вместо библиотеки.
Да, ничего не случилось. Похоже, у Вас раньше были предупреждения выключены. а сейчас Вы их включили и узнали много интересного.
Вот таково качество большинства ардуиновских библиотек.
Но как включение предупреждений может повлиять на работу часов точного времени? ранньше они мне выдавали прерывание каждый час теперь не выдают вообще. Если И можно, посоветуйте модуль GPS с малым временем старта. пробовал VK16E и и Нео - 6м Холодный старт занимает 5 часов на подоконнике и часа полтора на открытой местности. В моём случае это приводит к тому что теряет смысл всякое энергосбережение ибо за полтора часа схема успевает высосать 15% аккумулятора. И поскольку обращение к этому модулю происходит раз в сутки, то каждый его старт воспринимается как холодный. А как я писал выше нужно сделать так, чтоб аккумулятор нужно было заряжать раз в год или минимум в полгода. СТавить КАМАЗовские аккумуляторы - не вариант устройство должно быть компактным. Или может я требую что то из разряда вечных двигателей? Пробовал делать подпитку йонистора на часах и на GPS модуле. Если на часах это худо бедно работает то GPS вообще начинает с ума сходить. Загружает спутники по 9-12 часов. Как это реализованно в промышленных навигаторах и всяких крутых мобилах. Там даже холодный пуск занимает не болеее 1 минуты.
Ну, если она у Вас стала неправильно работатть после обновления библиотеки - верните старую библиотеку, в чём проблема-то?
да библиотеку то вернул, теперь с GPS проблемы
Но это уже другая сказка, как я понимаю.
Сказка другая - автор один. Началось с того.что мне нужно было изменить номер устройства (GPS трекер совмещённый с сигнализацией работающий по GPRS). Я сменил номер устройства. и после этого у меня перестал работать сонар. Скачал новую библиотеку Ultrasomic. вообще отказался компилится. Пишет что функция Ranging(CM); отсутсвует в ultrasonic.h я посмотрел функция там есть. Вернул старую библу-всё осталось точно так же. опять ругается на функцию Ranging(CM); Я вместо библы написал кодом работу сонара. ТОгда начал ругаться на часы реального времени. Тут я вспомнил что у меня на ноуте стоит необновлённый Ардуино. Откомпилил там всё нормально прошло. только возникли ошибки загрузки скетча. Тогда я снова попробовал откомпилить на компе. К моему удивлению откомпилилось нормально и загрузилось то же. Но будильник сработал 3 раза и завял и GPS приёмник стал очень долго искать спутники на подокониике. где раньше находил за 15-20 минут на холодном старте нашёл через 10 часов. А на улице. где раньше находил за 30сек - 1 мин нашёл через 1 час 52 минуты. Я не пойму в чём дело. С часов убрана батарейка подпитки а с GPS йонистр и туда подаётся напряжение с аккумулятора через резисторы и диоды. Пробую пересобрать плату. купил новые РТС. GPS модуль и саму ардуинку. Но на 5 вольт. и теперь не могу найти DC/DC преобразователя с малым током холостого хода. Когда МК спит и вся схема отключена на 3,3 вольтовой ардуине ток потребления был 3 мкА а теперь только преобразователь ест 0,3 мА.