Здравствуйте! В работающем проекте на ПР200 не выполняется (или неправильно выполняется) часть, выложенная на скрине.
Может кто подсказать, почему эта часть может не выполняться?Вложение 78567
Вид для печати
Здравствуйте! В работающем проекте на ПР200 не выполняется (или неправильно выполняется) часть, выложенная на скрине.
Может кто подсказать, почему эта часть может не выполняться?Вложение 78567
Предполагалось, что пока из "внешнего мира" в регистр iFlags_552 ничего не записывается, в этих 4х булевых переменных (энергонезависимых) сохраняются изначальные значения . Когда извне приходят данные, эти переменные должны измениться в соответствии с полученными значениями. В реале, несмотря на то , что в регистр "iFlags_552" данные поступили, в переменные записались нули. Изначально в булевых переменных были 1. Почему такое происходит - не пойму.
Скорее всего это стандартная для OWL фишка: если что-то нигде НЕ используется, то оно НЕ работает.
Я могу тупить, но ведь если i552 не задана, то она и будет равна нулю. А дальше, пока в iFlags_552 тоже ноль, блок SEL запишет в флаги ноль из i552.
Что вообще нужно получить? Может быть, можно сделать это более простым способом?
Если нужно отследить изменение флагов - так может хранить предыдущее значение iFlags_552, сравнивать его с текущим, и, если они не равны, выдавать флаг "Значение изменилось", а биты доставать всегда?
Точно! 1exan, спасибо за свежий взгляд! Линия связи действительно "потерялась".
Пожалуйста!