LSM303AGR
Оба датчика движения micro:bit — магнитометр и акселерометр — упакованы в один компонент: интегральную схему LSM303AGR. К этим двум датчикам можно обратиться по шине I2C. Каждый датчик ведёт себя как target I2C и имеет свой адрес.
У каждого датчика есть собственная память, где хранятся результаты измерений окружающей среды. Наше взаимодействие с датчиками будет в основном сводиться к чтению этой памяти.
Память этих датчиков организована как регистры с адресацией по байтам. Датчики можно и настраивать, для этого в их регистры производится запись. Так что в некотором смысле эти датчики очень похожи на периферию внутри микроконтроллера. Разница в том, что их регистры не отображаются в память микроконтроллера. Вместо этого к ним приходится обращаться по шине I2C.
Основной источник информации о LSM303AGR — его даташит. Прочитайте его, чтобы понять, как читать регистры датчиков. Эта часть находится здесь:
Раздел 6.1.1 «I2C Operation» — стр. 38 — даташит LSM303AGR
Другая часть документации, важная для этой книги, — описание регистров. Она находится здесь:
Раздел 8 «Register description» — стр. 46 — даташит LSM303AGR