Оптимизация создаваемой программы, использование блоков

Уменьшаем вес, время цикла, тормоза.

Различные вопросы по программе не входящие в другие рубрики
Аватара пользователя
Alias
Лейтенант
Сообщения: 476
Зарегистрирован: 27.11.2017{, 13:15}
Репутация: 36
Откуда: Rus44
Имя: Michael
Контактная информация:

Оптимизация создаваемой программы, использование блоков

#41

Сообщение Alias » 24.01.2019{, 08:57}

Sancho писал(а):
27.01.2018{, 11:22}
Делать свой блок для дисплея с необходимым функционалом. Т.е. слова типа "Температура", "Влажность" и иже выводить единоразово и не затирать, а переменные слать по мере необходимости в нужные знакоместа.
Нигде не нашел, хотя похожее где-то мелькало, поэтому буду исходить из логики.
Допустим, есть у меня такие слова, та же "Температура". Я могу вывести ее отдельным блоком. Но сам блок, как я понимаю, нужно размещать на отдельной плате, чтобы в каждом цикле "Температура" не выводилась снова? Стандартный блок ведь в каждом цикле выводит то, что на входе, а не изменения.
Свой блок это в FBD? Почему не отдельная плата?

Аватара пользователя
Sancho
Полковник
Сообщения: 3990
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 567
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Оптимизация создаваемой программы, использование блоков

#42

Сообщение Sancho » 24.01.2019{, 11:15}

Alias, Каждый выбирает, что ему удобнее. Блоков на FBD никогда не делал.
Иногда проще написать один раз своё и не думать о разделении плат.

Отправлено спустя 37 минут 23 секунды:
Вот пример. Из жизни Серёги.
Вначале собирались 8 датчиков температуры, и отправлялись на локальный дисплей некстион. Было 8 блоков. Дох Много и не оптимально.
Переделал в сборку в одну строку, каждое значение - 5 символов, в некстион - простой разбор.
СпойлерПоказать
На дисплей -v01.png
Сделал Серёге ПБлоки в котором есть главный, с функцией, и доп. С вызовом этой функции.
СпойлерПоказать
На дисплей -v2.png
Неоптимально - в каждом цикле работа со строками, которая в данный момент не нужна.
Слегка поменяли, стало красивее и оптимальнее:
СпойлерПоказать
На дисплей -v1.png
Дальше - больше.
Модбас. Перед отправкой флоат с датчиков умножаем на 10, переводим в инт, укладываем в инпут рег. Ок.
На приёмной вначале делили на 10 флоатов, потом блоки, описанные выше и на панель.
А я говорю - некрасиво, места много перед глазами занимают.
Так будет лучше!
СпойлерПоказать
На дисплей -v03.png
Итого - всё уместилось в одном блоке!
Итого - написание своего ПБ даёт всякие возможности, одна, простая - выравнивание текста, особенно цифр, по правому краю, пробелы слева, в несколько строк кода и его многократного пользования в проекте.
Как-то так...

Отправлено спустя 27 минут 43 секунды:
Чего внутри у маленького блока с последнего скрина?
Вот:
Заготовка Atmel_01 .flp
(24.34 КБ) 55 скачиваний
Если не получится на контроллере - сделаю на тразисторах и 155/176...Научился, немного.
Поможем проекту вместе!

SSSergeich
Капитан
Сообщения: 705
Зарегистрирован: 06.02.2016{, 11:01}
Репутация: 37
Откуда: Ярославль
Имя: Сергей

Оптимизация создаваемой программы, использование блоков

#43

Сообщение SSSergeich » 24.01.2019{, 13:01}

Sancho писал(а):
24.01.2019{, 12:20}
Вот пример. Из жизни Серёги.
Вначале собирались 8 датчиков температуры, и отправлялись на локальный дисплей некстион. Было 8 блоков. Дох Много и не оптимально.
Переделал в сборку в одну строку, каждое значение - 5 символов, в некстион - простой разбор.
Это ты еще про 24 переменных состояния кнопок не упомянул))

Аватара пользователя
Alias
Лейтенант
Сообщения: 476
Зарегистрирован: 27.11.2017{, 13:15}
Репутация: 36
Откуда: Rus44
Имя: Michael
Контактная информация:

Оптимизация создаваемой программы, использование блоков

#44

Сообщение Alias » 24.01.2019{, 14:16}

Sancho писал(а):
24.01.2019{, 12:20}
Чего внутри у маленького блока с последнего скрина?
Вот:
"Как хорошо быть генералом,
...
Стану я точно генералом,
Если капрала,
Если капрала переживу!" (с)

Аватара пользователя
Sancho
Полковник
Сообщения: 3990
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 567
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Оптимизация создаваемой программы, использование блоков

#45

Сообщение Sancho » 08.03.2019{, 12:17}

Попробована библиотека LiquidCrystal_SR.h и блоки valand.
Результат потрясающий!
Сравнение:
16 символов по 400-му I2C блоком из FLProg - 9650 мксек.
то-же блоком lcd_1602_74hc164_v3_autoerase- 1355 мксек !!!!!!!!!!!!!!!!!!!!!!!!!!!
Железа нет, дисплейного на 164-й, чисто по времени выполнения.
Если не получится на контроллере - сделаю на тразисторах и 155/176...Научился, немного.
Поможем проекту вместе!

valand
Рядовой
Сообщения: 60
Зарегистрирован: 15.07.2018{, 15:12}
Репутация: 13
Имя: Андрей

Оптимизация создаваемой программы, использование блоков

#46

Сообщение valand » 08.03.2019{, 13:23}

А для обычного подключения 1602 (через rs,e,d4-d7), есть подобные данные?

Аватара пользователя
Sancho
Полковник
Сообщения: 3990
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 567
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Оптимизация создаваемой программы, использование блоков

#47

Сообщение Sancho » 08.03.2019{, 13:41}

valand писал(а):
08.03.2019{, 13:23}
А для обычного подключения 1602 (через rs,e,d4-d7), есть подобные данные?
Тут
Если не получится на контроллере - сделаю на тразисторах и 155/176...Научился, немного.
Поможем проекту вместе!

Ответить

Вернуться в «Прочие вопросы»