'|'является побитовым оператором ИЛИ в C. Он выполняет побитовое ИЛИ между двумя значениями и возвращает окончательное значение.
I2C1ADB1= (slave_read_address | 0x01);
Предположим, что slave_read_address в двоичном виде равен 0bxxxxxxxx
, где каждый x
является битовым значением 1
или 0
.Аналогично, 0x01
в двоичном виде - это 0x00000001
.
Как вы знаете, ИЛИ вернет true (1)
, если хотя бы одно из значений будет true (1)
.В противном случае возвращает false (0)
.
. После указанной выше строки C I2C1ADB1 будет иметь 0bxxxxxxx1
.
. Оператор не будет добавлять биты.Обычно '|'(ИЛИ) оператор используется для установки определенного набора битов без изменения других битов.