Страница 15 из 16

"Первые шаги"

Добавлено: 14 мар 2021, 22:17
dsfbuy
[ref]beregok[/ref], из какого набора шрифтов надо выводить символ?

"Первые шаги"

Добавлено: 15 мар 2021, 05:40
kulibinsvv
beregok писал(а): 14 мар 2021, 16:54Например мне нужно вывести на дисплей символ с кодом BDh
Начинаем всё с начала. Ответьте на следующие вопросы:
1. Как называется ваш дисплей? Если не знаете, то хотя бы фото приложите.
2. Если речь идёт о таблице ASCII, то какая кодировка имеется ввиду: CP866, КОИ-8Р, CP1251 и т.д.? Если не знаете, то изучите тему, так как помимо ASCII ещё существует Юникод.

Когда вы ответите на эти вопросы, тогда сможете правильно задать свой вопрос на форуме.

"Первые шаги"

Добавлено: 15 мар 2021, 14:06
beregok
kulibinsvv писал(а): 15 мар 2021, 05:40 Начинаем всё с начала. Ответьте на следующие вопросы:
1. Как называется ваш дисплей? Если не знаете, то хотя бы фото приложите.
2. Если речь идёт о таблице ASCII, то какая кодировка имеется ввиду: CP866, КОИ-8Р, CP1251 и т.д.? Если не знаете, то изучите тему, так как помимо ASCII ещё существует Юникод
1. банальный 16х2 на контроллере HD44780.
2. кодировка встроеная.
Задача вывести на дисплей шкалу из "кирпичей" псевдографики.
Про различные кодировки я в курсе.

Отправлено спустя 4 минуты 6 секунд:
Если не все стало понятно, то вопрос относится к блоку "Дисплей на чипе HD44780" в программе Flprog

"Первые шаги"

Добавлено: 16 мар 2021, 03:44
beregok
[ref]av[/ref], воот это я и хотел получить. Все по теме и без воды. Спасибо!
И спасибо за наводку на блок шкалы. :smile9:

"Первые шаги"

Добавлено: 16 мар 2021, 07:33
rw6cm
[ref]beregok[/ref],
Ответ на пост 301
Все делается встроенными блоками.
Шкала.flp
На форуме есть темы где это уже обсуждалось.
например здесь

"Первые шаги"

Добавлено: 21 дек 2021, 12:42
vins
уважаемые профи при загрузке lgt8f328p выскакивает вот такая ошибка
Снимок.PNG
хотя при загрузке других ардуин этой проблемы нет ..понимаю что нужно указать значение но где его взять ума не приложу ..если понадобится покажу весь код
прошу сильно не пинать ...

"Первые шаги"

Добавлено: 21 дек 2021, 13:21
Labu559
vins писал(а): 21 дек 2021, 12:42 нужно указать ... но где его взять...
Здесь, по инструкции в сообщениях #10 и #12. Если не будете "мудрить", как ТС, получится всё быстро. :yes: Не профи, потому без проекта большим помочь не могу.

"Первые шаги"

Добавлено: 24 янв 2022, 10:33
Evgenich
Всем доброго дня. Вот на днях в авто форуме прозвучал вопрос по этой оболочке. Люди ответили, дали рекомендации, но меня заинтриговало данное направление. Сам то я любитель, иногда пишу для себя мелочовку, но тут прям очень интересно стало когда попробовал в флпрог написать. В данной ситуации возникли вопросы. Вроде простые, но нет понимания на них.
1. При компилировании увидел строку генератора. Это что, настройка внешнего тактирования? Ну, как бы можно и так, но уж сильно много команд...
2. При попытке составления блоков не получилось сделать программу в програмие. Получается что такие блоки придется писать в ручную? Ну к примеру, блок сравнения, задано 10 и поступило 11,блок сравнения изменил свое состояние и через переменную мы подали команду на блок исполнения, блок исполнения изменил свое состояние и мы выполнили операцию. Но судя по заданию блок сравнения стоит в начале, блок исполнения в конце. Это получается все что между ними не исполнилось, а исполнется в седующем цикле или программа возвращается к этой строке и продолжает тактовую работу по строкам? Если бы я писал в ручную то исполнительный блок я бы прописал как программа в программе и тогда сравнение изменив свое состояние остановила бы такт перейдя в подпрограмму, управление сработало бы и программа вернулась к строке где прервалась и продолжила бы свою работу.
Я посмотрел не все видео, но основные тезисы усвоил. В принципе нет ни чего сложного, больше похоже на сборку логики, в общей концепции. Создание блоков тоже не вызывает особых сложностей. Если работать в этой среде, в режиме "сваять по быстрому и посмотреть результат" то даже иногда не хочется самому писать, хочется оставить как есть. :smile469: Есть еще вопросы, но буду их смотреть по порядку, дабы не разводить бардак в голове... Спасибо!

"Первые шаги"

Добавлено: 24 янв 2022, 10:44
evgen123
[ref]Evgenich[/ref], всегда прикладывайте файл проекта, иначе Вам если и ответят - то на турецкую пасху..

"Первые шаги"

Добавлено: 24 янв 2022, 11:38
Evgenich
evgen123 писал(а): 24 янв 2022, 10:44 [ref]Evgenich[/ref], всегда прикладывайте файл проекта, иначе Вам если и ответят - то на турецкую пасху..
Учту, спасибо. Вечером отредактирую и приложу фото и проект.

"Первые шаги"

Добавлено: 24 янв 2022, 12:33
Naladchik
Evgenich писал(а): 24 янв 2022, 10:33 ... При компилировании увидел строку генератора...
Ну там как бы много чего появляется, вопрос конкретизируйте, о какой строке речь, о каком генераторе.
Evgenich писал(а): 24 янв 2022, 10:33 ...сделать программу в програмие...
В настройках каждой платы есть такие инструменты как "Выполнение по условию", "Выполнять в цикле пока".
Грамотно их используя можно много чего наворотить.
В FLProg весь код можно удобно раскидать на логические блоки (платы) и управлять их работой включая/выключая по необходимости.

"Первые шаги"

Добавлено: 24 янв 2022, 13:09
Dryundel
Evgenich писал(а): 24 янв 2022, 10:33 При попытке составления блоков не получилось сделать программу в програмие...
Это получается все что между ними не исполнилось, а исполнется в седующем цикле или программа возвращается к этой строке и продолжает тактовую работу по строкам?
Это возможно.
Когда Вы пишете о подпрограмме, вероятно имеете в виду функцию, которая либо выполняется по какому то условию, либо нет.
[ref]Naladchik[/ref], рассказал Вам о возможности работы с платами. Это тоже имеет место быть. Плата может выполняться по условию и даже в цикле обусловленном в этой же плате. Однако Вас интересовал немного другой вопрос. На сколько я понял состоит он в том, что бы после выполнения подпрограммы (функции), контроллер должен вернуться в точку с которой ушел в данную функцию, а не продолжил цикл, как это произойдет при работе с платой. Так?

Вот именно для этого есть такая штука как создание пользовательского блока на FBD. Такой блок является именно функцией (подпрограммой). Создается он с помощью тех же штатных блоков. Т.е. в блоке на FBD вы создаете какой то алгоритм и потом используете этот блок в тех местах проекта где это требуется. В скетче же это выглядит как обычная функция(подпрограмма), а отсылки на нее происходят из тех мест где данный блок-FBD вставлен в проект.

Надеюсь доходчиво объяснил.
Evgenich писал(а): 24 янв 2022, 10:33 Есть еще вопросы, но буду их смотреть по порядку, дабы не разводить бардак в голове...
Вот за это спасибо, ибо из-за сваливания вопросов в кучу, возникает не только в голове но и на форуме. :)

"Первые шаги"

Добавлено: 24 янв 2022, 13:49
Evgenich
[ref]Naladchik[/ref], хорошо. По первому вопросу вечером решим, скрин не добавляется.
Посмотрел я платы и условия для них. Ну, не в восторге, честно признаться... Даже незнаю, будет ли это толком работать? Ну одна, ну три, еще может быть. Но допустим с пару десятков условий, ардуинка зависнет же наглухо! Хорошо. Если программа выполнила по условию. К примеру: плата1 и плата5 содержат условия больше или равно, условие совпала на плате1, программа перешла к плате5 по условию, плата5 отработала условие. Далее как будет? Программа перейдет к плате2 или перейдет к плате6?

Отправлено спустя 4 минуты 32 секунды:
[ref=#ff8000]Dryundel[/ref], вот спасибо! Доходчиво объяснили! Получается что нет. Значит надо самому блок с подпрограммой писать... Жестко и печально. С платами и условиями в принципе, поверхностно понятно... Но как по мне легче блок тогда наверное написать...

"Первые шаги"

Добавлено: 24 янв 2022, 14:04
Dryundel
Evgenich писал(а): 24 янв 2022, 13:49 Значит надо самому блок с подпрограммой писать... Жестко и печально.
Вижу что доходчиво. Но нефига не понятно. :smile171:
В догонку еще раз. Блок на FBD это тот же проект (подпроект) в программе FLProg. Делается он точно так же как и основной проект, из тех же самых штатных блоков FLProg. Ничего писать на C++ не требуется.
Может если попробуете, станет понятней?
Еще доходчивей у меня не получается. Извините.

Отправлено спустя 8 минут 32 секунды:
И еще. Изначально функцией является только блок созданный на FBD. Блоки написанные в Code и Code Pro могут быть функцией только если вы специально их сделаете таковыми. Просто код вставленный в блок Code и Code Pro будет куском кода вставляемым в скетч в каждом месте проекта, где находится этот блок.

"Первые шаги"

Добавлено: 24 янв 2022, 14:30
Evgenich
[ref=#ff8000]Dryundel[/ref],
Сравнительно понял. Я пробовал для СКАДА накидать простейшую программку, для пробы, получилось частично. Сейчас просмотрел видео и чуть почитал по платам и условию для них, возможно я не дооценил эти возможности... Вечером опробую.
Но честно сказать, да, плохо укладывается в голове такое построение. Как бы привык к более плотной и более логичной структуре. По этому вопросу пока все, надо опробовать.

Еще вопрос, но я сначало в поиске попробую.

"Первые шаги"

Добавлено: 28 июл 2022, 15:05
starik3000
Del

"Первые шаги"

Добавлено: 28 ноя 2023, 17:04
SergeySV
Всем добра. Начинающий. Заинтересовался программированием Arduino. Начал изучать FLProg с просмотра видео и изучением каждого блока. Полученный код вставляю в симулятор Wokwi, который ругается на первую строку. Тупо убрал её, светодиод от кнопки заработал. Это фрагмент кода с первой строкой.
#include "flprogUtilites.h"
bool _bounseInputD2S = 0;
bool _bounseInputD2O = 0;
unsigned long _bounseInputD2P = 0UL;
void setup()
********************************
И так дошёл до таймеров и генератора.
Например, с таймером на отключение через 3 секунды симулятор выдаёт такую вот ошибку.
error: 'flprog' has not been declared
if (flprog::isTimer(_tim1P, 3000))
С генератором аналогичная ошибка.
Что не так делаю?
Скоро получу набор с платой. Буду конкретно с железом работать.
Спасибо.

"Первые шаги"

Добавлено: 28 ноя 2023, 21:56
Nikolai
Здравствуйте! Подскажите пожалуйста как в Flprog целое число int к примеру 25 (полученное от датчика температуры), разбить на 2 и 5. Нужно вывести на две матрицы 8х8 на Max7219 данные с датчика температуры DS18B20 ( первая матрица показывает 2, а вторая 5). В блоке Max7219 создал массив с цифрами от 0 до 9. Спасибо.

"Первые шаги"

Добавлено: 28 ноя 2023, 22:07
ivansidor012
[ref]SergeySV[/ref], тебе нужно добавить библиотеки flprogUtilites в Wokwi
https://docs.wokwi.com/guides/libraries

"Первые шаги"

Добавлено: 29 ноя 2023, 10:47
Nikolai
ivansidor012 писал(а): 28 ноя 2023, 22:07 [ref]SergeySV[/ref], тебе нужно добавить библиотеки flprogUtilites в Wokwi
https://docs.wokwi.com/guides/libraries
Спасибо! А как с помощью блоков Flprog разбить число.