Просмотр полной версии : Почему не выполняется часть проекта ?
Здравствуйте! В работающем проекте на ПР200 не выполняется (или неправильно выполняется) часть, выложенная на скрине.
Может кто подсказать, почему эта часть может не выполняться?78567
Предполагалось, что пока из "внешнего мира" в регистр iFlags_552 ничего не записывается, в этих 4х булевых переменных (энергонезависимых) сохраняются изначальные значения . Когда извне приходят данные, эти переменные должны измениться в соответствии с полученными значениями. В реале, несмотря на то , что в регистр "iFlags_552" данные поступили, в переменные записались нули. Изначально в булевых переменных были 1. Почему такое происходит - не пойму.
Предполагалось, что пока из "внешнего мира" в регистр iFlags_552 ничего не записывается, в этих 4х булевых переменных (энергонезависимых) сохраняются изначальные значения . Когда извне приходят данные, эти переменные должны измениться в соответствии с полученными значениями. В реале, несмотря на то , что в регистр "iFlags_552" данные поступили, в переменные записались нули. Изначально в булевых переменных были 1. Почему такое происходит - не пойму.
Проверьте наличие линии связи между блоками SEL и EXTRACT
Скорее всего это стандартная для OWL фишка: если что-то нигде НЕ используется, то оно НЕ работает.
Я могу тупить, но ведь если i552 не задана, то она и будет равна нулю. А дальше, пока в iFlags_552 тоже ноль, блок SEL запишет в флаги ноль из i552.
Что вообще нужно получить? Может быть, можно сделать это более простым способом?
Если нужно отследить изменение флагов - так может хранить предыдущее значение iFlags_552, сравнивать его с текущим, и, если они не равны, выдавать флаг "Значение изменилось", а биты доставать всегда?
Точно! 1exan, спасибо за свежий взгляд! Линия связи действительно "потерялась".
Скорее всего это стандартная для OWL фишка: если что-то нигде НЕ используется, то оно НЕ работает.
Я могу тупить, но ведь если i552 не задана, то она и будет равна нулю. А дальше, пока в iFlags_552 тоже ноль, блок SEL запишет в флаги ноль из i552.
Что вообще нужно получить? Может быть, можно сделать это более простым способом?
Если нужно отследить изменение флагов - так может хранить предыдущее значение iFlags_552, сравнивать его с текущим, и, если они не равны, выдавать флаг "Значение изменилось", а биты доставать всегда?
i552 я ввел, когда искал, почему не работает, сейчас убрал. Вы правы, сделал только хуже, хотя при потерянной линии связи это уже не так важно.
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot