Добавить блок увеличения/уменьшения переменной на 1 (+1, -1)
- Сергей
- Лейтенант
- Сообщения: 578
- Зарегистрирован: 31 авг 2015, 15:06
- Имя: Сергей
- Контактная информация:
Добавить блок увеличения/уменьшения переменной на 1 (+1, -1)
Добавить блок Increment/Decrement переменной.
- Сергей
- Лейтенант
- Сообщения: 578
- Зарегистрирован: 31 авг 2015, 15:06
- Имя: Сергей
- Контактная информация:
Добавить блок увеличения/уменьшения переменной на 1 (+1, -1)
Вопрос снят. Блок прикрепил.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Добавить блок увеличения/уменьшения переменной на 1 (+1, -1)
модеры, соберите по возможности самодельные блоки и перенесите их в раздел соответствующий( например ,загрузки-блоки пользователей, а тут только ссылки на них оставляйте)
- Сергей
- Лейтенант
- Сообщения: 578
- Зарегистрирован: 31 авг 2015, 15:06
- Имя: Сергей
- Контактная информация:
Добавить блок увеличения/уменьшения переменной на 1 (+1, -1)
kossn93, для того что бы их перенести, надо убедится в их работоспособности. А для этого нужно тестировать и голосовать за тему в которой описывается блок.
Я могу этот блок перенести в загрузки. Но вдруг он глючный. Вдруг я где то ошибся.
Поэтому кому надо, тестируйте, голосуйте и отписывайтесь что блок рабочий. Потом перенесем конечно.
Я могу этот блок перенести в загрузки. Но вдруг он глючный. Вдруг я где то ошибся.
Поэтому кому надо, тестируйте, голосуйте и отписывайтесь что блок рабочий. Потом перенесем конечно.
Добавить блок увеличения/уменьшения переменной на 1 (+1, -1)
Столкнулся в проекте с необходимостью использования данного блока. Проверить пока не могу. Правильно я его подключил?
Добавлено (24.12.2017, 01:04)
---------------------------------------------
Вопрос снимаю. Буду использовать командоаппарат.
Добавлено (24.12.2017, 01:04)
---------------------------------------------
Вопрос снимаю. Буду использовать командоаппарат.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Лейтенант
- Сообщения: 539
- Зарегистрирован: 06 сен 2015, 07:09
- Откуда: Курган
Добавить блок увеличения/уменьшения переменной на 1 (+1, -1)
И все же лучше стандартный такой блок, тем более его реализация явно не будет сложной (код для него займет строчку где то
).
![Улыбка! :)](./images/smilies/ha_smile.gif)
Добавить блок увеличения/уменьшения переменной на 1 (+1, -1)
А смысл в таком блоке если все решается элементарной математикой?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Лейтенант
- Сообщения: 539
- Зарегистрирован: 06 сен 2015, 07:09
- Откуда: Курган
Добавить блок увеличения/уменьшения переменной на 1 (+1, -1)
Для нажатия кнопки 1 секунда- мало, а для выполнения кода несколько десятков/сотен циклов. Сколько насчитает математика? Тут нужен контроль предыдущего состояния, опрос по времени и иногда контроль времени пребывания в активном состоянии (устойчивом/устранение дребезга контактов). Получится довольно длинная строчка кода
![Улыбка! :)](./images/smilies/ha_smile.gif)
Тогда на мой взгляд минимальная конфигурация из штатных блоков
принимает видSPOILER_SHOW
А готовые блоки уже давно есть и на FBD и Code, например здесь, или здесь или здесь. Хотелка древняя.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Добавить блок увеличения/уменьшения переменной на 1 (+1, -1)
по поводу памяти, особенно в проектах FLProg - смешно. тут она и без этого используется, мягко говоря, не оптимально. Чего стоят задвоение переменных при использовании пользовательских блоков да и и использование int там где вполне хватает byte и Long там где хватило бы Uint. Да не будем о грустном.Oleg1345140 писал(а): ↑09 сен 2018, 23:01Экономией памяти. все же i++ меньше отъесть нежели код описанный выше
Ну а что касается кода, то
_gtv1 = (_gtv1)+(1);
по сути тоже самое что и i++; т.е просто математика, это если убрать у переменной разрешение записи
SPOILERSPOILER_SHOW
"...большинство современных компиляторов языка Си уже без проблем сами заменяют арифметические выражения x = x + 1 или x += 1 на низкоуровневый инкремент (++x) на этапе оптимизации и компиляции." - Wiki
if (_gtv2) {_gtv1 = (_gtv1)+(1);}
а тут используется переменная с разрешением записи.
SPOILERSPOILER_SHOW
Пока будет разрешение записи - будет считать (один цикл программы - одна операция инкремента), нет разрешения - нет счета.
А тут уже по обстоятельствам, может несколько а может и ни одной.
Вот такой вариант. 452 и 11 байт. А использовать еще и счетчик для хранения значения, которое и так хранится в переменной это, на мой взгляд, избыточно.
Особенно в свете "...Экономии памяти..."
![подмигивающий :smile38:](./images/smilies/smile38.gif)
P.S. Никто так и не сказал а для чего нужны такие навороты? Начали то с простейших инкремента и декремента.
Отправлено спустя 13 минут 39 секунд:
Сброс при достижении значения делать не стал, если кому нужно то компаратор прилепить секундное дело.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Naladchik 10 сен 2018, 11:01, всего редактировалось 8 раз.
Добавить блок увеличения/уменьшения переменной на 1 (+1, -1)
Или так. Круговой счетчик.
SPOILERSPOILER_SHOW
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Добавить блок увеличения/уменьшения переменной на 1 (+1, -1)
А вообще я уже давно предлагал Сергею модернизировать стандартный счетчик и добавить все эти навороты (хотя бы что бы было два выхода "достижение установленного значения") да видать все руки у него не дойдут до этой мелочи.
Добавить блок увеличения/уменьшения переменной на 1 (+1, -1)
Да, и я о том же. Исходя из этого нам нужно считать/инкреминировать/декреминировать не циклы программы, пока одна из переменных increment или decrement пребывает в HIGH, а отсчитывать / инкреминировать/декреминировать колличество этих команд или нажатий кнопок от переменной Value.
Применение счётчика напрямую связано с
который в нём уже присутствует- смотрим код счётчика. Если будет удержание указанных выше переменных/кнопок в HIGH, независимо от колличества циклов Loop, будет инкремент/декремент на 1.
К сожалению в отчётах Arduino IDE от нас ускользает колличество инструкций процессора, что не менее важно чем объёмы используемых типов памяти, но это уже дебри.
![Печалька :(](./images/smilies/sadly_smile.gif)
Базовый счётчик, на мой взгляд (хотя я тоже предлагал ув. Автору его модернизировать в ином, правда, плане) вполне самодостаточен. А то что предлагаете Вы,
легко реализуется с помощью внешних елементов (обведено рамкой).SPOILER_SHOW
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Добавить блок увеличения/уменьшения переменной на 1 (+1, -1)
SPOILERSPOILER_SHOW
Далее, на вход счетчика "пороговое значение" Вы подаете через промежуточную переменную значение его (счетчика) выхода?
![чешу репу :smile37:](./images/smilies/smile37.gif)
Хотя общую идею я понял.
Но вот сам факт присваивания переменной Value значения счетчика и получение двух глобальных переменных с одним и тем же значением крайне не приветствую.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Naladchik 10 сен 2018, 17:40, всего редактировалось 4 раза.
Добавить блок увеличения/уменьшения переменной на 1 (+1, -1)
если можно так сказать, да. Просто применял описаный алгоритм без кольцевого счёта в своём проекте, НО!!!
Вы совершенно правы на счёт кольцевого счёта, вход SP должен остаться не подключённым. С кольцевым счётчиком я поспешил, с наскока и без утяжеления , и короче чем у ув. Boroda в 6-м сообщении пока не получилось. Попробовал симулировать в Протеусе. Без кольца проект успешный, в кольцевом засада в плане отрицательных чисел, но я кажется понял что Вы имели ввиду под
И вспомнил что где-то проходило сообщение ув. Sancho об разных условиях сравнения в счётчике < и >= при счёте отрицательных чисел и положительных. Спасибо Вам за тренировку мозга.
P.S. Если это Вы на форуме Казуса о Протеусе, то именно с Вашей публичной рекоммендации я начал знакомство с FLProg.
![одобрение :smile9:](./images/smilies/smile9.gif)
(Поставил себе задачу в плане обучения- использовать только свои ПБлоки, счётчики тоже использую свои с моими собственными недостатками
![Улыбка! :)](./images/smilies/ha_smile.gif)
Последний раз редактировалось Labu559 11 сен 2018, 10:49, всего редактировалось 1 раз.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей