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

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

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

Сообщение Alias »

Sancho писал(а): 27 янв 2018, 11:22Делать свой блок для дисплея с необходимым функционалом. Т.е. слова типа "Температура", "Влажность" и иже выводить единоразово и не затирать, а переменные слать по мере необходимости в нужные знакоместа.
Нигде не нашел, хотя похожее где-то мелькало, поэтому буду исходить из логики.
Допустим, есть у меня такие слова, та же "Температура". Я могу вывести ее отдельным блоком. Но сам блок, как я понимаю, нужно размещать на отдельной плате, чтобы в каждом цикле "Температура" не выводилась снова? Стандартный блок ведь в каждом цикле выводит то, что на входе, а не изменения.
Свой блок это в FBD? Почему не отдельная плата?
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

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

Сообщение Sancho »

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

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

Отправлено спустя 27 минут 43 секунды:
Чего внутри у маленького блока с последнего скрина?
Вот:
Заготовка Atmel_01 .flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
SSSergeich
Капитан
Сообщения: 708
Зарегистрирован: 06 фев 2016, 11:01
Откуда: Ярославль
Имя: Сергей

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

Сообщение SSSergeich »

Sancho писал(а): 24 янв 2019, 12:20Вот пример. Из жизни Серёги.
Вначале собирались 8 датчиков температуры, и отправлялись на локальный дисплей некстион. Было 8 блоков. Дох Много и не оптимально.
Переделал в сборку в одну строку, каждое значение - 5 символов, в некстион - простой разбор.
Это ты еще про 24 переменных состояния кнопок не упомянул))
Аватара пользователя
Alias
Лейтенант
Сообщения: 481
Зарегистрирован: 27 ноя 2017, 13:15
Откуда: Rus44
Имя: Michael
Контактная информация:

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

Сообщение Alias »

Sancho писал(а): 24 янв 2019, 12:20Чего внутри у маленького блока с последнего скрина?
Вот:
"Как хорошо быть генералом,
...
Стану я точно генералом,
Если капрала,
Если капрала переживу!" (с)
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

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

Сообщение Sancho »

Попробована библиотека LiquidCrystal_SR.h и блоки [ref]valand[/ref].
Результат потрясающий!
Сравнение:
16 символов по 400-му I2C блоком из FLProg - 9650 мксек.
то-же блоком lcd_1602_74hc164_v3_autoerase- 1355 мксек !!!!!!!!!!!!!!!!!!!!!!!!!!!
Железа нет, дисплейного на 164-й, чисто по времени выполнения.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
valand
Рядовой
Сообщения: 64
Зарегистрирован: 15 июл 2018, 15:12
Имя: Андрей

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

Сообщение valand »

А для обычного подключения 1602 (через rs,e,d4-d7), есть подобные данные?
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

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

Сообщение Sancho »

valand писал(а): 08 мар 2019, 13:23А для обычного подключения 1602 (через rs,e,d4-d7), есть подобные данные?
Тут
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Ответить

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость