Проблема с кодом для часов на ГРИ
- Войдите на сайт для отправки комментариев
Всем доброго времени суток! Пишу код часов на ГРИ на UNO. На данный момент почти всё готово, время отображается корректно, все необходимые параметры настраиваются. Это радует))) Но есть одна загвоздка. Начну с того, что для отображения нужной информации в определенный момент времени есть три функции:
1) data - функция разбивает переданные в неё значения на десятки и единицы
2) функция show и setNumber работают в паре, setNumber - передаёт число на дешифратор, а swow зажигает нужный индикатор.
В конце основного цикла программы у меня функция show. Когда она используется только в основном цикле, проблем нет, всё работает. Но как только я хочу вызвать её ещё где-то, начинаются глюки. САМЫЙ ПРИКОЛ В ТОМ, ЧТО ДАЖЕ ЕСЛИ ЭТА ФУНКЦИЯ НАХОДИТСЯ ВНУТРИ ОПЕРАТОРА IF, И УСЛОВИЕ ЛОЖ, ТО ВСЁ РАВНО ПОЯВЛЯЮТСЯ ГЛЮКИ.
Вот например, при настройки времени нужно настроить параметр и вывести это дело на лампы
if(mode == setTime_hour) {data(hour,hour,0,0,0,0); show(digits);}
При таком раскладе при работе часов возникают глюки, происхождение которых я объяснить не могу. Если же закоментировать функцию show, проблемы уходят. Пробовал реализовывать подобное на swith, результат такой же. ГОСПОДА ПРОФЕССИОНАЛЫ, ОБЪЯСНИТЕ МНЕ ДУРАКУ КАК ФУНКЦИЯ, КОТОРАЯ НАХОДИТСЯ ВНУТРИ ЛОЖНОГО УСЛОВИЯ МОЖЕТ ИСПОЛНЯТСЯ, 2 ДЕНЬ УЖЕ СИЖУ С ЭТОТ ПРОБЛЕМОЙ И НИКАК НЕ МОГУ ПОНЯТЬ ЧТО НЕ ТАК(((
без полного кода, а в частности, как и где объявлены mode , setTime_hour трудно что-то сказать.
без полного кода, а в частности, как и где объявлены mode , setTime_hour трудно что-то сказать.
Вот сам код