Установка времени через Serial
- Войдите на сайт для отправки комментариев
Пнд, 07/03/2016 - 11:22
Привет! Я новичок, пока как слепой котенок, столько вопросов, что не знаю уда смотреть. По сути:
Есть процедура, которая читает и устанавливает время из serial:
void ustanovka_vremeni(){ // time.settime(сек,мин,час,д,м,г,дн) // time.settime(21,10,21,12,03,16,7) if (Serial.available() > 0) { //если есть доступные данные // считываем введенное значение int sekund = Serial.parseInt(); int minut = Serial.parseInt(); int chasov = Serial.parseInt(); int den = Serial.parseInt(); int mes = Serial.parseInt(); int god = Serial.parseInt(); int den_nedel = Serial.parseInt(); //выводим в порт Serial.println(sekund); Serial.println(minut); Serial.println(chasov); Serial.println(den); Serial.println(mes); Serial.println(god); Serial.println(den_nedel); //установка времени time.settime( sekund, minut, chasov, den, mes, god, den_nedel); Serial.print("ustanovleno vremya: "); Serial.println(time.gettime("d-m-Y, H:i:s, D")); } }
Консолька выводит вполне себе значения, а время устанавливается ошибочное:
55
15
11
7
3
16
1
ustanovleno vremya: 45-25-20@5, 45:85:85, Jan
Подозреваю, что это из - за незнания С. Прошу разложить по запчастям, заранее благодарю!
Привет!
Привет! Для начала покажите объявление "time".
Думал это не нужно, но вот:
Я конечно не уверен какую именно Вы используете бибилиотеку RTC, но попробуйте инициализацию такого типа:
// time.begin(RTC_DS1302,10,13,12); // на базе чипа DS1302, вывод RST, вывод CLK, вывод DATдоступны любые выводы
Думаю бибилиотека тут не причем. Такая конструкция работает. Не устраивает задержка компиляции, секунды трудно поймать.
Подозреваю, что дело в разименовывании указателя на переменные int. Может возвращаться адрес указателя , а не значение переменной.
Для начала, я бы попробовал устанавливать только секунды (остальные параметры можете передавать -1 или вообще не передавать). И контролировать установленное время до и после корректировки.
Благодарю! Попробую.
Дело было не в бобине =). Переключал ардуинки у которых разные чесы были, просто забыл снять нужный комментарий:
Еще раз благодарю!
Подозреваю, что дело в разименовывании указателя на переменные int. Может возвращаться адрес указателя , а не значение переменной.
А теперь покажите, плз, в приведённом вами куске кода, где там указатели и, тем более, разыменование оных? Уж морозить чушь - так по полной.
Компилятор транслирует диалект "ардуино" в чистый СИ. Это значит, что там происходит - не видно. Ну а в целом для тех кто подвержен мигать красной лампочкой эмоций в самом начале я написал, что являюсь новичком.
Компилятор транслирует диалект "ардуино" в чистый СИ. Это значит, что там происходит - не видно. Ну а в целом для тех кто подвержен мигать красной лампочкой эмоций в самом начале я написал, что являюсь новичком.
Нет никакого диалекта ардуино в природе - это просто самоназвание, не более того. Тот язык, на котором вы пишете в среде Arduino - называется C++, а С - является подмножеством языка C++, к слову.
Так что компилятор ничего в Си не транслирует - потому как исходный код и так на нём. Компилятор транслирует в машинные коды, к слову.
А то, что вы сослались якобы на разыменование указателя - это к делу не относится, т.к. в приведённом куске кода не было работы с указателями вообще.
Разницу чувствуете?
Думаю бибилиотека тут не причем. Такая конструкция работает. Не устраивает задержка компиляции, секунды трудно поймать.
Подозреваю, что дело в разименовывании указателя на переменные int. Может возвращаться адрес указателя , а не значение переменной.
«Они хочут свою образованность показать и всегда говорят о непонятном».
(А.П. Чехов)
Что за развлечение грызть новичков?
Что за развлечение грызть новичков?
Так дело ж "в разименовывании указателя"! А у указателя нечёткая типизация в силу изначального параметрического полиморфизма. Вот и трудно ловить секунды времени компиляции.
"Жизнь такова, какова она есть, и больше никакова" (В. Костров)
Что за развлечение грызть новичков?
Это такая местная забава, привыкайте.
Это такая местная забава, привыкайте.
Та да. Но ведь охоту у них отбиваем. Хотя конечно можно прикрыться "кто хочет, тот выдержит и найдет", но....
Ладно. Тема то давно закрыта. ТС разобрался и у него заработало.
Ладно. Тема то давно закрыта. ТС разобрался и у него заработало.
Думаете? ;) До очередного глупого косяка. Конечно, они (косяки) - случаются у всех, многие их даже курят, но я не об этом. Я о том, что когда человек даже не пытается чего-то осознать - это совсем-совсем беда. Смотрите, сколько на форуме вопросов "ПАААЧИМУ не компилируется?" - а делов-то: заголовочный файл от библиотеки подключить.
Вот вы хотели бы жить в домике, построенном такими ниф-нифами?