PDA

Просмотр полной версии : Вопрос по синтаксису языка ST



-=Vovka=-
22.10.2018, 11:07
Мне нужно проверить, установлен ли бит в переменной. Как правильно написать:


VAR
x : WORD;
END_VAR

IF ( x AND 2#00000001 ) <- тут ошибка
THEN
........
END_IF

Мимоход
22.10.2018, 11:16
Любую литературу по Паскалю читать
или он-лайн

А по факту
условие для IF д.б. логическим выражением или логической константой
Например
IF WORD_TO_BOOL(x AND 2#00000001) THEN

(* ........
*)
END_IF
Это если бит "0" в х установлен в 1


ЗЫ.
Забыл сказать
результатом x AND 2#00000001 будет WORD

Мимоход
22.10.2018, 11:21
Естественно, что вместо этого огорода можно сразу
IF x.0 THEN
(* ........ проверяем 0 бит
*)
END_IF

IF x.6 THEN
(* ........ проверяем 6 бит
*)
END_IF

-=Vovka=-
22.10.2018, 11:30
Любую литературу по Паскалю читать
или он-лайн

А я Паскаль с института не люблю, мне больше нравится все, что похожее на СИ ;)



А по факту
условие для IF д.б. логическим выражением или логической константой
Например
IF WORD_TO_BOOL(x AND 2#00000001) THEN

(* ........
*)
END_IF
Это если бит "0" в х установлен в 1


ЗЫ.
Забыл сказать
результатом x AND 2#00000001 будет WORD

Ага, вот в чем дело! Спасибо, мне как раз этот вариант нужен был