Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Задание

Задание этой главы — написать небольшую программу, которая обменивается данными с внешним миром через последовательный интерфейс из предыдущей главы. Она должна принимать из последовательного порта команды «mag» (магнитометр) и «acc» (акселерометр). В ответ программа должна отправлять в последовательный порт соответствующие данные датчика.

На этот раз шаблона кода не будет: всё, что нужно, уже есть в главах UART и в этой. Однако вот несколько подсказок:

  • Вам может пригодиться core::str::from_utf8, чтобы преобразовать байты из буфера в &str: ведь нужно сравнивать их со строками "mag" и "acc".

  • Придётся почитать документацию по API и возможностям магнитометра. Интерфейс API предоставляет крейт lsm303agr, а даташит LSM303AGR описывает параметры измерения магнитного поля датчиком. Характеристики датчика — на страницах 13–15, а самое важное — на страницах 66–67, где описан формат выходных регистров.