Зачем нужно сдвигать биты при считывании данных с аналогового датчика?
Я экспериментировал с некоторыми аналоговыми датчиками Grove и смотрел примеры (https://github.com/DexterInd/GrovePi/blob/master/Software/Go/grovepi/grovepi.go — этот конкретный пример написан на Go и для Raspberry Pi, но на Arduino он тот же). Я понял, что для получения результата нужно использовать "(int(val[1]) << 8) | int(val[2])".
Почему это так? Почему вторые 8 бит нужно сдвинуть влево на 8, и почему тогда используется операция «ИЛИ» с третьей группой бит?
@, 👍1
0
Смотрите также:
- Считанное значение не меняется при вращении потенциометра в Arduino?
- Датчик NPN для Arduino
- Не получая никакого выхода от датчика ЭКГ AD8232
- Почему чтение на ESP32 читает max, когда чтение на UNO читается точно?
- Нестабильные показания аналогового датчика
- Шум на пьезо-аналоговом чтении из-за источника питания Arduino
- Почему светодиоды влияют на аналоговый вход?
- Как начать построение дендрометрического измерения (Dimensions of Trees) для исследований?