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

embedded-hal

Крейт embedded-hal предоставляет ряд трейтов, которые покрывают распространённую периферию микроконтроллеров:

  • GPIO
  • PWM
  • Таймеры задержки
  • Шины и устройства I2C и SPI

Аналогичные трейты для байтовых потоков (например, UART), шин CAN и генераторов случайных чисел вынесены в embedded-io, embedded-can и rand_core соответственно.

Другие крейты затем реализуют драйверы в терминах этих трейтов; например, драйверу акселерометра может понадобиться экземпляр устройства I2C или SPI.

  • Трейты описывают использование периферии, но не инициализацию или настройку, так как инициализация и настройка сильно зависят от платформы.
  • Существуют реализации для многих микроконтроллеров, а также для других платформ, например Linux на Raspberry Pi.
  • embedded-hal-async предоставляет асинхронные версии трейтов.
  • embedded-hal-nb предлагает другой подход к неблокирующему вводу-выводу, основанный на крейте nb.