Ассемблерная вставка в FLProg

Создаем свой блок. Вопросы, помощь знатоков.
dstrufanov
Сержант
Сообщения: 272
Зарегистрирован: 07 янв 2024, 12:43
Имя: Дмитрий
Благодарил (а): 25 раз
Поблагодарили: 68 раз

Re: Ассемблерная вставка в FLProg

Сообщение dstrufanov »

Сообщение удалено
Последний раз редактировалось dstrufanov 13 июн 2025, 22:49, всего редактировалось 1 раз.
ecoins
Администратор
Сообщения: 4486
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 224 раза
Поблагодарили: 368 раз

Re: Ассемблерная вставка в FLProg

Сообщение ecoins »

Ander писал(а): 30 май 2025, 13:24 а я на затулинке
Новосибирцев набралась цела группа!
Всем успехов!
dstrufanov
Сержант
Сообщения: 272
Зарегистрирован: 07 янв 2024, 12:43
Имя: Дмитрий
Благодарил (а): 25 раз
Поблагодарили: 68 раз

Re: Ассемблерная вставка в FLProg

Сообщение dstrufanov »

Сообщение удалено
Последний раз редактировалось dstrufanov 13 июн 2025, 22:45, всего редактировалось 1 раз.
Naladchik
Капитан
Сообщения: 899
Зарегистрирован: 04 окт 2015, 19:10
Откуда: Новосибирск
Имя: Павел
Благодарил (а): 21 раз
Поблагодарили: 22 раза

Re: Ассемблерная вставка в FLProg

Сообщение Naladchik »

dstrufanov писал(а): 03 июн 2025, 09:04 Но адреса переменных у меня задаются через вход блока
А что мешает их задать как параметр блока?
Последний раз редактировалось Naladchik 03 июн 2025, 16:26, всего редактировалось 3 раза.
Win10-64. FLProg Portable.
Изображение
Naladchik
Капитан
Сообщения: 899
Зарегистрирован: 04 окт 2015, 19:10
Откуда: Новосибирск
Имя: Павел
Благодарил (а): 21 раз
Поблагодарили: 22 раза

Re: Ассемблерная вставка в FLProg

Сообщение Naladchik »

Naladchik писал(а): 03 июн 2025, 16:11
dstrufanov писал(а): 03 июн 2025, 09:04 можно ли создать массив размерностью некой переменной?
Можно создать массив переменной длины, называется динамический массив, правда гемор еще тот.
Win10-64. FLProg Portable.
Изображение
dstrufanov
Сержант
Сообщения: 272
Зарегистрирован: 07 янв 2024, 12:43
Имя: Дмитрий
Благодарил (а): 25 раз
Поблагодарили: 68 раз

Re: Ассемблерная вставка в FLProg

Сообщение dstrufanov »

Сообщение удалено
Последний раз редактировалось dstrufanov 13 июн 2025, 22:44, всего редактировалось 1 раз.
Naladchik
Капитан
Сообщения: 899
Зарегистрирован: 04 окт 2015, 19:10
Откуда: Новосибирск
Имя: Павел
Благодарил (а): 21 раз
Поблагодарили: 22 раза

Re: Ассемблерная вставка в FLProg

Сообщение Naladchik »

dstrufanov писал(а): 03 июн 2025, 09:04 ... в секции декларирования сделать опрос задействованных в проекте переменных...
Использовать макрос препроцессора ArduinoIDE __COUNTER__

Код: Выделить всё

    //перечисление переменных
int val_1 = __COUNTER__;    // переменной val_1 присваивается значение 0
int val_2 = __COUNTER__;    // переменной val_1 присваивается значение 1
int val_3 = __COUNTER__;    // переменной val_1 присваивается значение 2
int val_4 = __COUNTER__;    // переменной val_1 присваивается значение 3
   // объявление массива
int val_array [__COUNTER__];   // объявление массива из 4х элементов

void setup() {   }
void loop()  {   }
пробуйте.
Win10-64. FLProg Portable.
Изображение
dstrufanov
Сержант
Сообщения: 272
Зарегистрирован: 07 янв 2024, 12:43
Имя: Дмитрий
Благодарил (а): 25 раз
Поблагодарили: 68 раз

Re: Ассемблерная вставка в FLProg

Сообщение dstrufanov »

Сообщение удалено
Последний раз редактировалось dstrufanov 13 июн 2025, 22:43, всего редактировалось 1 раз.
Naladchik
Капитан
Сообщения: 899
Зарегистрирован: 04 окт 2015, 19:10
Откуда: Новосибирск
Имя: Павел
Благодарил (а): 21 раз
Поблагодарили: 22 раза

Re: Ассемблерная вставка в FLProg

Сообщение Naladchik »

dstrufanov писал(а): 03 июн 2025, 17:06
Naladchik писал(а): 03 июн 2025, 16:11 А что мешает их задать как параметр блока?
Не знаю, как это сделать. Это в профредакторе? Я в обычном редакторе пробовал - параметр не появляется в скетче, так и не понял, для чего он вообще
В обоих редакторах есть Параметры.
Предназначены для определения констант в коде блока на этапе создания программы.
Для себя уже давно определил простое правило при создании блоков.
Все величины, которые можно/нужно менять во время выполнения программы - входы блока
Все величины, которые задаются на этапе создания программы и по мере ее выполнения меняться не должны - параметры блока.

P.S.
Никак не могу понять логику тех, кто задает номера пинов через входы блока
Win10-64. FLProg Portable.
Изображение
dstrufanov
Сержант
Сообщения: 272
Зарегистрирован: 07 янв 2024, 12:43
Имя: Дмитрий
Благодарил (а): 25 раз
Поблагодарили: 68 раз

Re: Ассемблерная вставка в FLProg

Сообщение dstrufanov »

Сообщение удалено
Последний раз редактировалось dstrufanov 13 июн 2025, 22:43, всего редактировалось 1 раз.
Аватара пользователя
Phazz
Полковник
Сообщения: 3514
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 377 раз
Поблагодарили: 261 раз

Re: Ассемблерная вставка в FLProg

Сообщение Phazz »

dstrufanov писал(а): 04 июн 2025, 12:06
Naladchik писал(а): 03 июн 2025, 17:12 В обоих редакторах есть Параметры.
Ну вот, например, есть блок, у которого задан параметр "Константа" со значением 4. Я не вижу в скетче появления этого параметра:
Параметр.png
А вы его в блоке применили?
dstrufanov
Сержант
Сообщения: 272
Зарегистрирован: 07 янв 2024, 12:43
Имя: Дмитрий
Благодарил (а): 25 раз
Поблагодарили: 68 раз

Re: Ассемблерная вставка в FLProg

Сообщение dstrufanov »

Сообщение удалено
dstrufanov
Сержант
Сообщения: 272
Зарегистрирован: 07 янв 2024, 12:43
Имя: Дмитрий
Благодарил (а): 25 раз
Поблагодарили: 68 раз

Re: Ассемблерная вставка в FLProg

Сообщение dstrufanov »

Сообщение удалено
Evgesha
Лейтенант
Сообщения: 538
Зарегистрирован: 29 окт 2015, 09:57
Откуда: Kazakhstan
Имя: Evgesha

Re: Ассемблерная вставка в FLProg

Сообщение Evgesha »

dstrufanov писал(а): 13 июн 2025, 23:02 Сообщение удалено
Отчего вы все по удаляли
ecoins
Администратор
Сообщения: 4486
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 224 раза
Поблагодарили: 368 раз

Re: Ассемблерная вставка в FLProg

Сообщение ecoins »

Evgesha писал(а): 15 июн 2025, 06:11
dstrufanov писал(а): 13 июн 2025, 23:02 Сообщение удалено
Отчего вы все по удаляли
Видимо в сообщениях было однообразие.
Похоже убрал сообщения автор этих сообщений.
На мой взгляд тем самым он проявил не уважение к форуму.
Капризное поведение - на форуме уже были подобные преценденты...
---------------------------
Предположу что было обсуждение о том, что в Nano памяти и при этом на ней хочется работать в 9-ой версии, использовать новые возможности.
Но разработчик FLProg решил что таких устаревших чипов и для поклонников этих чипов (AVR328) предыдущие версии FLProg (7 и 8) закрывают эти потребности.
Пока я не видел запросов от поклонников этих чипов особенных запросов сверх того, что предлагает 7 и 8 версии.
Скорее напротив - начата работа по оптимизации кода и этих версий. Например перевод Modbus на ассемблер.
FLProg открыт, все могут пробовать что хотят - но без навязывания своего "единственно правильного мнения" и без "чернухи" по новым версиям в этой теме.
По теме 9-ой версии открыто несколько тем на форуме - там она и обсуждается.
Эта тема не для обсуждения 9-ой версии.
Аватара пользователя
kulibinsvv
Лейтенант
Сообщения: 493
Зарегистрирован: 18 сен 2015, 10:04
Откуда: Омск
Благодарил (а): 7 раз
Поблагодарили: 7 раз

Re: Ассемблерная вставка в FLProg

Сообщение kulibinsvv »

ecoins писал(а): 15 июн 2025, 10:06 Видимо в сообщениях было однообразие.
Похоже убрал сообщения автор этих сообщений.
На мой взгляд тем самым он проявил не уважение к форуму.
Капризное поведение - на форуме уже были подобные преценденты...
---------------------------
Предположу что было обсуждение о том, что в Nano памяти и при этом на ней хочется работать в 9-ой версии, использовать новые возможности.
Но разработчик FLProg решил что таких устаревших чипов и для поклонников этих чипов (AVR328) предыдущие версии FLProg (7 и 8) закрывают эти потребности.
Пока я не видел запросов от поклонников этих чипов особенных запросов сверх того, что предлагает 7 и 8 версии.
Скорее напротив - начата работа по оптимизации кода и этих версий. Например перевод Modbus на ассемблер.
FLProg открыт, все могут пробовать что хотят - но без навязывания своего "единственно правильного мнения" и без "чернухи" по новым версиям в этой теме.
По теме 9-ой версии открыто несколько тем на форуме - там она и обсуждается.
Эта тема не для обсуждения 9-ой версии.
В.С. Высоцкий писал(а):"Жираф большой - ему видней!"
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)
golloper
Сержант
Сообщения: 259
Зарегистрирован: 28 сен 2018, 17:16
Имя: Дмитрий
Благодарил (а): 32 раза
Поблагодарили: 68 раз

Re: Ассемблерная вставка в FLProg

Сообщение golloper »

На мой взгляд , такую практику удаления своих постов нужно прекращать администрацией. После публикации есть сутки на подумать,вполне достаточно для принятия решения оставлять или удалять. Потом кнопочка удалить неактивна.
dstrufanov
Сержант
Сообщения: 272
Зарегистрирован: 07 янв 2024, 12:43
Имя: Дмитрий
Благодарил (а): 25 раз
Поблагодарили: 68 раз

Re: Ассемблерная вставка в FLProg

Сообщение dstrufanov »

Попросили показать блоки Модбас РТУ на ассемблере.
Блок протокола мастера:
ModbusRTUMaster_(Code_-_Basic).ubi
Блок протокола слейва:
ModbusRTUSlave_(Code_-_Basic).ubi
Блок входящей переменной для коила:
CoilSlaveIn_(Code_-_Basic).ubi
Блок исходящей переменной для коила:
CoilSlaveOut_(Code_-_Basic).ubi
Блок дискретного ввода:
DiscreteSlave_(Code_-_Basic).ubi
В библиотеке нужно разместить папку: C:\Program Files (x86)\FLProg\ideV8\portable\sketchbook\libraries\BlackLogic
И в нее положить заголовочный файл:
BlackLogic.h
А также положить файл подпрограммы расчета CRC, предварительно переименовав его с расширением .S (большое):
CRC16.txt
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось dstrufanov 21 янв 2026, 11:00, всего редактировалось 1 раз.
dstrufanov
Сержант
Сообщения: 272
Зарегистрирован: 07 янв 2024, 12:43
Имя: Дмитрий
Благодарил (а): 25 раз
Поблагодарили: 68 раз

Re: Ассемблерная вставка в FLProg

Сообщение dstrufanov »

Так же в библиотеку добавить подпрограммы обработки функций, предварительно переименовав их с расширением .S (большое):
Request_15.txt
Request_02.txt
Function_15.txt
Function_05.txt
Function_01_02.txt
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Oleg
Сержант
Сообщения: 217
Зарегистрирован: 17 сен 2015, 13:04
Откуда: Беларусь
Имя: Олег
Благодарил (а): 47 раз

Re: Ассемблерная вставка в FLProg

Сообщение Oleg »

Добрый день. А можно еще в добавок небольшой примерчик . Пожалуйста.
Ответить

Вернуться в «Разработка пользовательских блоков»

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

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