B = A.0
Работа с панелями оператора Weintek - подключение, программирование, совмещение с ПЛК
Модераторы: kiv, 8bit, VanMo
Voldemus » 09 окт 2022, 16:53
Добрый день
Надо в макросе присвоить B значение нулевого бита A
- Код: Выделить всё
macro_command main()
unsigned short A
bool B
B = A.0 // так не получается, компилятор выдает ошибку
end macro_command
P.S.
Используйте оформление текста макросов тегами [Code] !
-
Voldemus
-
- Сообщения: 26
- Зарегистрирован: 27 авг 2015, 15:41
dimensy » 09 окт 2022, 17:11
используйте функцию GETBIT
-
dimensy
-
- Сообщения: 243
- Зарегистрирован: 14 мар 2018, 17:54
Voldemus » 09 окт 2022, 17:19
Спасибо, работает.
-
Voldemus
-
- Сообщения: 26
- Зарегистрирован: 27 авг 2015, 15:41
Voldemus » 09 окт 2022, 17:25
А как сделать обратную запись, например. A.3 = B
-
Voldemus
-
- Сообщения: 26
- Зарегистрирован: 27 авг 2015, 15:41
dimensy » 09 окт 2022, 18:23
Прямой функции нет, поэтому анализировать В и использовать функции SETBITON и SETBITOFF
- Код: Выделить всё
if B then
SETBITON(A, A, 3)
else
SETBITOFF(A, A, 3)
end if
-
dimensy
-
- Сообщения: 243
- Зарегистрирован: 14 мар 2018, 17:54
Voldemus » 10 окт 2022, 12:36
Я так и думал.
-
Voldemus
-
- Сообщения: 26
- Зарегистрирован: 27 авг 2015, 15:41
Вернуться в Weintek
Кто сейчас на конференции
Сейчас этот форум просматривают: Bing [Bot] и гости: 94