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

Модуль 8.3 — Async на встраиваемых системах

Слайды

Упражнение 8.3.1: Компас

В этом упражнении мы используем драйвер lsm303agr. Хотя в документации это не показано, драйвер поддерживает async, если включить его фичу async.

Посмотрите примеры в репозитории lsm303agr-rs, чтобы понять, как использовать драйвер.

С помощью драйвера lsm303agr реализуйте компас. Для указания направления на северный полюс можно использовать модуль dial. В коде есть несколько мест с todo!() и инструкциями.

Компиляция стартового кода выдаёт множество предупреждений. Они исчезнут, когда вы закончите.

Упражнение 8.3.2: Компас с мигающим индикатором

В примере отправителя и получателя каналов из репозитория embassy показано, как запускать отдельные задачи и использовать каналы для обмена сообщениями между ними. Используя эти знания, заставьте светодиод-индикатор в модуле dial мигать в то время, как снимаются показания магнитометра.

Поскольку в этом упражнении мы не используем defmt, замените вызовы макроса unwrap!(<expr>) на вызовы <expr>.unwrap().