FLProg
Вход на сайт
Логин:
Пароль:
Мы в VK
Поиск
Статистика


Яндекс.Метрика
Суббота, 03.12.2016, 22:44
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: support, Сергей 
Форум » Основной » Спросить у знатоков » Считывание данных из массива по счетчику 0123210 (Весь экран забивается чепухой от 0 по стрелке назад)
Считывание данных из массива по счетчику 0123210
taras20
Дата: Воскресенье, 07.02.2016, 17:08 | Сообщение # 1
Сержант
Группа: Проверенные
Сообщений: 53
Награды: 0
Репутация: 0
Статус: Offline
Стоит счетчик от максимума(4) через 0 к максимуму (циклический по кругу). Стрелки влево вправо. По его значению по индексу из массива считываются переменные и выводятся на экран. Так вот когда 0 1 2 3 4 3 2 1 нормально. Но когда дохожу до 0 и влево (назад счетчик переходит на 4) тут-то на экране "конец света". Что это и как победить?
сначала всё хорошо

потом +1


проект прикреплен
видео
Прикрепления: 8669566.jpg(84Kb) · 2907098.jpg(82Kb) · 4818096.jpg(82Kb) · test_mas.rar(324Kb)


Сообщение отредактировал taras20 - Воскресенье, 07.02.2016, 17:19
 
HAyMOB Дата: Воскресенье, 07.02.2016, 18:11 | Сообщение # 2
Рядовой
Группа: Проверенные
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline
Здравствуйте. Как вариант проблема в пользовательском блоке. Графическое представление его есть?

Сообщение отредактировал HAyMOB - Воскресенье, 07.02.2016, 18:11
 
kossn93 Дата: Воскресенье, 07.02.2016, 18:33 | Сообщение # 3
Майор
Группа: Проверенные
Сообщений: 159
Награды: 6
Репутация: 2
Статус: Offline
сделал себе простейший контроллер отопления дома, управляет старым котлом, используется нано,экран 20*4по I2C, релюшки,4 датчика далас(котла, подачи,уличной температуры и комнатной), переодически, может раз в два дня, а может и в неделю не разу, наблюдаю такой же точно конец света на экране)) ребут все решает, но защита от завесания в этом случае не срабатывает... в проекте нет ни массивов ни счетчиков, проблема у меня конечно от вашей отличается, но экран точь в точь также себя ведет... может решение вашей проблемы поможет и мне)

Добавлено (07.02.2016, 18:33)
---------------------------------------------
только у вас на видео четко различимые знаки, а у меня ровно как камера ваша видит на фото...

 
taras20 Дата: Воскресенье, 07.02.2016, 19:10 | Сообщение # 4
Сержант
Группа: Проверенные
Сообщений: 53
Награды: 0
Репутация: 0
Статус: Offline
Цитата HAyMOB ()
Здравствуйте. Как вариант проблема в пользовательском блоке. Графическое представление его есть?
Графическое представление модуля счетчика (кстати на разных пробовал с этого сайта -то же самое) Даже разработчику написал - можно ли а модуле чтения из массива защиту поставить - он в архив кинул)

вот сам пользовательский модуль
Прикрепления: 7600973.jpg(70Kb) · mod_counter_cir.rar(56Kb)


Сообщение отредактировал taras20 - Воскресенье, 07.02.2016, 19:11
 
Alex16 Дата: Воскресенье, 07.02.2016, 23:08 | Сообщение # 5
Сержант
Группа: Проверенные
Сообщений: 43
Награды: 6
Репутация: 3
Статус: Offline
Посмотри, возможно решит проблему
Прикрепления: test_-1.zip(968Kb)


AlexA

Сообщение отредактировал Alex16 - Воскресенье, 07.02.2016, 23:10
 
support Дата: Понедельник, 08.02.2016, 05:53 | Сообщение # 6
Автор программы
Группа: Администраторы
Сообщений: 579
Награды: 30
Репутация: 21
Статус: Offline
Цитата taras20 ()
Даже разработчику написал - можно ли а модуле чтения из массива защиту поставить - он в архив кинул)
Я в комментарии описал почему я не принял это как багу. Я могу сделать программную проверку на соответствие запрашиваемого элемента размеру массива. Но этот код будет вызываться всегда,  и когда он нужен и когда не нужен. Это не оправданное увеличение размера программы, а размер памяти ардуино ограничен. Поэтому предлагаю в проекте сделать проверку значения


Разработчик программы FLProg
 
taras20 Дата: Понедельник, 08.02.2016, 10:56 | Сообщение # 7
Сержант
Группа: Проверенные
Сообщений: 53
Награды: 0
Репутация: 0
Статус: Offline
Цитата Alex16 ()
Посмотри, возможно решит проблему
Спасибо за попытку получилось то же самое. вот видео
Прикрепления: itog.mp4(988Kb)
 
taras20 Дата: Понедельник, 08.02.2016, 11:05 | Сообщение # 8
Сержант
Группа: Проверенные
Сообщений: 53
Награды: 0
Репутация: 0
Статус: Offline
Цитата support ()
Поэтому предлагаю в проекте сделать проверку значения
Спасибо. Я делал проверку. Но она почему-то не срабатывала. Пробовал MAX(0,Значение) но при отладке ошибка

Пробовал сравнивать

Всё тоже самое.
Как Вы порекомендуете сравнивать?
Моё предположение, что в модуле счетчика при переходе от 0 к -1 есть какое-то мгновение, когда индекс -1. Может счетчик сделать от 1 до макс?

Сейчас попробовал сделать счётчик от 1 (а не от 0) до макс. Эффет "конца света" пропал. Только счетчик по кольцу неправильно считает. Но это можно поправить.
Прикрепления: 7610732.png(66Kb) · 7846632.png(18Kb)


Сообщение отредактировал taras20 - Понедельник, 08.02.2016, 11:12
 
taras20 Дата: Понедельник, 08.02.2016, 11:45 | Сообщение # 9
Сержант
Группа: Проверенные
Сообщений: 53
Награды: 0
Репутация: 0
Статус: Offline
Как удалось победить. Подсмотрел "закольцованный" счетчик на форуме. Там стояло разрешение записи выходной переменной.
В ИТОГЕ:
В модуле счётчика сделал разрешение на запись

и вроде всё заработало. Правда промигивает максимальное+1 значение при переходе от 0 к макс. Но это не критично - главное нет "конца света"
Прикрепления: 6237124.png(29Kb)
 
Форум » Основной » Спросить у знатоков » Считывание данных из массива по счетчику 0123210 (Весь экран забивается чепухой от 0 по стрелке назад)
Страница 1 из 11
Поиск:

FLProg © 2016
Яндекс.Метрика