Считывание данных из массива по счетчику 0123210
Считывание данных из массива по счетчику 0123210
Стоит счетчик от максимума(4) через 0 к максимуму (циклический по кругу). Стрелки влево вправо. По его значению по индексу из массива считываются переменные и выводятся на экран. Так вот когда 0 1 2 3 4 3 2 1 нормально. Но когда дохожу до 0 и влево (назад счетчик переходит на 4) тут-то на экране "конец света". Что это и как победить?
видео
сначала всё хорошо
потом +1
проект прикрепленвидео
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось taras20 07 фев 2016, 17:19, всего редактировалось 1 раз.
- HAyMOB
- Рядовой
- Сообщения: 10
- Зарегистрирован: 07 фев 2016, 10:33
- Откуда: Питер
- Имя: Антон
- Контактная информация:
Считывание данных из массива по счетчику 0123210
Здравствуйте. Как вариант проблема в пользовательском блоке. Графическое представление его есть?
Последний раз редактировалось HAyMOB 07 фев 2016, 18:11, всего редактировалось 1 раз.
Считывание данных из массива по счетчику 0123210
сделал себе простейший контроллер отопления дома, управляет старым котлом, используется нано,экран 20*4по I2C, релюшки,4 датчика далас(котла, подачи,уличной температуры и комнатной), переодически, может раз в два дня, а может и в неделю не разу, наблюдаю такой же точно конец света на экране)) ребут все решает, но защита от завесания в этом случае не срабатывает... в проекте нет ни массивов ни счетчиков, проблема у меня конечно от вашей отличается, но экран точь в точь также себя ведет... может решение вашей проблемы поможет и мне)
Добавлено (07.02.2016, 18:33)
---------------------------------------------
только у вас на видео четко различимые знаки, а у меня ровно как камера ваша видит на фото...
Добавлено (07.02.2016, 18:33)
---------------------------------------------
только у вас на видео четко различимые знаки, а у меня ровно как камера ваша видит на фото...
Считывание данных из массива по счетчику 0123210
Графическое представление модуля счетчика (кстати на разных пробовал с этого сайта -то же самое) Даже разработчику написал - можно ли а модуле чтения из массива защиту поставить - он в архив кинул) вот сам пользовательский модульHAyMOB писал(а):Здравствуйте. Как вариант проблема в пользовательском блоке. Графическое представление его есть?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось taras20 07 фев 2016, 19:11, всего редактировалось 1 раз.
Считывание данных из массива по счетчику 0123210
Посмотри, возможно решит проблему
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Alex16 07 фев 2016, 23:10, всего редактировалось 1 раз.
AlexA
- support
- Супермодератор
- Сообщения: 1917
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Поблагодарили: 23 раза
- Контактная информация:
Считывание данных из массива по счетчику 0123210
Я в комментарии описал почему я не принял это как багу. Я могу сделать программную проверку на соответствие запрашиваемого элемента размеру массива. Но этот код будет вызываться всегда, и когда он нужен и когда не нужен. Это не оправданное увеличение размера программы, а размер памяти ардуино ограничен. Поэтому предлагаю в проекте сделать проверку значенияtaras20 писал(а):Даже разработчику написал - можно ли а модуле чтения из массива защиту поставить - он в архив кинул)
Автор программы FLProg.
Считывание данных из массива по счетчику 0123210
Спасибо за попытку получилось то же самое. вот видеоAlex16 писал(а):Посмотри, возможно решит проблему
Считывание данных из массива по счетчику 0123210
Спасибо. Я делал проверку. Но она почему-то не срабатывала. Пробовал MAX(0,Значение) но при отладке ошибка Пробовал сравнивать Всё тоже самое.support писал(а):Поэтому предлагаю в проекте сделать проверку значения
Как Вы порекомендуете сравнивать?
Моё предположение, что в модуле счетчика при переходе от 0 к -1 есть какое-то мгновение, когда индекс -1. Может счетчик сделать от 1 до макс?
Сейчас попробовал сделать счётчик от 1 (а не от 0) до макс. Эффет "конца света" пропал. Только счетчик по кольцу неправильно считает. Но это можно поправить.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось taras20 08 фев 2016, 11:12, всего редактировалось 1 раз.
Считывание данных из массива по счетчику 0123210
Как удалось победить. Подсмотрел "закольцованный" счетчик на форуме. Там стояло разрешение записи выходной переменной.
В ИТОГЕ:
В модуле счётчика сделал разрешение на запись и вроде всё заработало. Правда промигивает максимальное+1 значение при переходе от 0 к макс. Но это не критично - главное нет "конца света"
В ИТОГЕ:
В модуле счётчика сделал разрешение на запись и вроде всё заработало. Правда промигивает максимальное+1 значение при переходе от 0 к макс. Но это не критично - главное нет "конца света"
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя