embedded-hal
Крейт embedded-hal
надає низку трейтів, що охоплюють поширені периферійні пристрої мікроконтролерів:
- GPIO
- PWM
- Таймери затримки
- Шини та пристрої I2C і SPI
Аналогічні трейти для байтових потоків (наприклад, UART), CAN-шини та ГВЧ (RNGs) і розбиті на embedded-io
, embedded-can
та rand_core
, відповідно.
Інші крейти потім реалізують драйвери у термінах цих трейтів, наприклад драйверу акселерометра може знадобитися кземпляр пристрою I2C або SPI.
- Трейти охоплюють використання периферійних пристроїв, але не їх ініціалізацію чи конфігурацію, оскільки ініціалізація та конфігурація, як правило, сильно залежить від платформи.
- Існують реалізації для багатьох мікроконтролерів, а також інших платформ, таких як Linux на Raspberry Pi.
- Крейт
embedded-hal-async
надає асинхронні версії трейтів. - Крейт
embedded-hal-nb
надає інший підхід до неблокуючого вводу/виводу, заснований на крейтіnb
.