Битовые переменные.

В данный форуме Вы можете создавать темы посвящённые расширению функционала программы или сайта. После рассмотрения Ваше предложение будет перенесено в соответствующее место
Ответить
seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09 апр 2016, 12:17
Откуда: Кременчуг
Имя: Сергей

Битовые переменные.

Сообщение seri0shka »

Не хотел поднимать новую тему, но через поиск не нашёл упоминаний. Для простейшей логики используются переменные типа boolean, каждая из которых занимает байт в памяти. На самом деле в байт можно поместить 8 битовых переменных (ни для кого не секрет). Проблема в том, что для работы с битами (сложение, вычитание, инверсия и т. д.) приходится преобразовывать их снова в boolean. Создать пользовательские блоки не представляется возможным, так как скомпилированный результат должен должен быть соединением нескольких частей в одну строку. Простейший пример применения: имеем входной байт, полученный с 8 входов регистра, и выходной байт, отправленный через выходной регистр на 8 выходов. Выходной байт получается преобразованием входного байта в соответствии с заданной логикой работы. Как задать подобное для примеров на рисунке? (Только вместо пинов должны быть два бита входного байта и один бит выходного. На картинке одна и та же операция для разных языков программирования, лично мне удобней LAD.) Поднималась ли такая тема на форуме? Возможно ли создать блоки?
биты.png
Спросите: зачем это нужно? Во-первых, для общего развития. Во-вторых, связался в последнее время с ATtiny13A - прикольный маленький контроллер с 1 килобайтом памяти. Проекты прекрасно создаются в FLProg (просто подставляется другой тип контроллера). После компилирования уже в IDE выбирается ATtiny13A, и заливается скетч по способу, описанному здесь: https://ngin.pro/arduino/299-obnovlenno ... o-ide.html Для простеньких проектов не требуется никаких лишних движений, работают любые блоки, содержащие в себе простейшие операторы типа pinMode(), digitalRead(), digitalWrite() и ещё несколько, а также программирование на Си. Но уже для чуть больших проектов, чем помигать светиком, нужно оптимизировать полученный скетч, убирая промежуточные переменные. Ну и доступно только 64 байтовых переменных, что не так много.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09 апр 2016, 12:17
Откуда: Кременчуг
Имя: Сергей

Битовые переменные.

Сообщение seri0shka »

А что ответят админы? У вас вроде х опыта больше. Это неосуществимо или просто не нужно?
pan
Полковник
Сообщения: 2860
Зарегистрирован: 13 апр 2017, 11:57
Имя: noname

Битовые переменные.

Сообщение pan »

в создании блоков нет смысла. ибо входа и выхода блоков это те же переменные, каждая из которых занимает байт
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Битовые переменные.

Сообщение Sancho »

[ref]seri0shka[/ref],
Вот так [spoiler]
2018-04-09_10-00-22.png
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09 апр 2016, 12:17
Откуда: Кременчуг
Имя: Сергей

Битовые переменные.

Сообщение seri0shka »

А если так:
биты2.png
Блок "битовая арифметика" пока пуст. Вместо 16 промежуточных переменных получаем 2. Но вот дальше у меня проблемы, битовые операции- как китайский язык.

Отправлено спустя 21 минуту 58 секунд:
[ref=#ff8000]Sancho[/ref], что за блок "bitwise OR" ? Я в LAD намного лучше разбираюсь, извините.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Битовые переменные.

Сообщение Sancho »

[ref]seri0shka[/ref],
Это побитовое ИЛИ.
Операции с битами-> побитовые операции...
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09 апр 2016, 12:17
Откуда: Кременчуг
Имя: Сергей

Битовые переменные.

Сообщение seri0shka »

Sancho писал(а): 09 апр 2018, 11:11Это побитовое ИЛИ.
Понял, просто не мог найти в версии 2-1.
Скажите, а это только на моём компе не удаляются соединения? В языке LAD всё нормально, а в FBD не удаляются в версии 2-1 и 2-3. приходится блок удалять и снова добавлять.
[spoiler]
биты3.png
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Битовые переменные.

Сообщение Sancho »

seri0shka писал(а): 09 апр 2018, 14:31Скажите, а это только на моём компе не удаляются соединения? В языке LAD всё нормально, а в FBD не удаляются в версии 2-1 и 2-3. приходится блок удалять и снова добавлять.
[ref]seri0shka[/ref], не знаю, у меня всё нормально. 3.0.3
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
kulibinsvv
Лейтенант
Сообщения: 487
Зарегистрирован: 18 сен 2015, 10:04
Откуда: Омск
Благодарил (а): 3 раза
Поблагодарили: 5 раз

Битовые переменные.

Сообщение kulibinsvv »

seri0shka писал(а): 09 апр 2018, 14:31Скажите, а это только на моём компе не удаляются соединения?
Если соединены только два вывода, достаточно щёлкнуть два раза ЛКМ по линии возле вывода блока.
Если соединены более двух выводов, то наводим курсор на линию возле вывода, зажимаем ЛКМ и тянем курсор в сторону, отпускаем ЛКМ.

ЛКМ - левая кнопка мыши.
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)
seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09 апр 2016, 12:17
Откуда: Кременчуг
Имя: Сергей

Битовые переменные.

Сообщение seri0shka »

[ref]kulibinsvv[/ref], спасибо. Только не по линии, а по входу блока, получается. Надо же, как по-разному в LAD и FBD.
Ответить

Вернуться в «Новые»

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

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