Я использую малину pi для чтения гироскопических данных. Я новичок в этом, но до сих пор я понимаю все, что я основываю на своем коде, помимо использования «|» в этом. При поиске это говорит его оператор «побитового OR», но в моей ситуации это не имеет смысла, чем снова я не понимаю объяснения в Википедии.Оператор "|" использование c малины pi
Линия, которая использует это выглядит следующим образом
readBlock(0x80 | OUT_X_L_G, sizeof(block), block);
ReadBlock определяется пользователем функции следующим образом.
readBlock(uint8_t command, uint8_t size, uint8_t *data) {
int result = i2c_smbus_read_i2c_block_data(file, command, size, data);
}
Итак, что он делает, это установить биты 1xxxxxxx, а затем, читая его, он позволяет заполнять x тем, что он читает из этих бит? Я не думал, что остальное будет необходимо, но я обновлю эту функцию. –
'x's - это исходные биты, взятые из' OUT_X_L_G'. Он изменяет только 7-й бит, если он был '0' или оставил его' 1', как если бы оно было '1'. –
Об обновлении: Работает ли он? Это не выглядит правильным, если вы спросите меня (ну, у меня все еще нет целой картинки). –