Crate arduino_hal
source ·Expand description
§arduino-hal
Common HAL (hardware abstraction layer) for Arduino boards.
Note: This version of the documentation was built for Arduino Uno. This means that only items which are available for this board are visible. If you are using a different board, try building the documentation locally with
cargo doc --open
in your project (where arduino-hal
is included with the feature-flag for your board).
§Usage
For setting up a new project, the avr-hal-template
is the recommended baseline. Applications should be built ontop of the following skeleton:
#![no_std]
#![no_main]
use panic_halt as _;
#[arduino_hal::entry]
fn main() -> ! {
let dp = arduino_hal::Peripherals::take().unwrap();
let pins = arduino_hal::pins!(dp);
loop { }
}
For examples, please check the avr-hal
examples: https://github.com/Rahix/avr-hal/tree/main/examples
Re-exports§
pub use atmega_hal as hal;
pub use atmega_hal::pac;
pub use hal::Peripherals;
pub use port::Pins;
pub use adc::Adc;
pub use i2c::I2c;
pub use spi::Spi;
pub use usart::Usart;
pub use eeprom::Eeprom;
Modules§
- Analog to Digital converter.
- MCU core clock support.
- I2C bus controller.
- GPIO & Pin control.
- SPI controller.
Macros§
- Convenience macro to instantiate the
Usart
driver for this board. - Convenience macro to instantiate the
Pins
struct for this board.
Functions§
- Delay execution for a number of milliseconds.
- Delay execution for a number of microseconds.
Type Aliases§
- Default clock speed for this board.
- Delay type for
embedded-hal
compatibility.
Attribute Macros§
- entry
rt
Attribute to declare the entry point of the program