Module rp2040_hal::spi

source ·
Expand description

Serial Peripheral Interface (SPI)

Spi is the main struct exported by this module, representing a configured Spi bus. See its docs for more information on its type parameters.

See Chapter 4 Section 4 for more details

§Usage

use embedded_hal::spi::MODE_0;
use fugit::RateExtU32;
use rp2040_hal::{spi::Spi, gpio::{Pins, FunctionSpi}, pac, Sio};

let mut peripherals = pac::Peripherals::take().unwrap();
let sio = Sio::new(peripherals.SIO);
let pins = Pins::new(peripherals.IO_BANK0, peripherals.PADS_BANK0, sio.gpio_bank0, &mut peripherals.RESETS);

let sclk = pins.gpio2.into_function::<FunctionSpi>();
let mosi = pins.gpio3.into_function::<FunctionSpi>();

let spi_device = peripherals.SPI0;
let spi_pin_layout = (mosi, sclk);

let spi = Spi::<_, _, _, 8>::new(spi_device, spi_pin_layout)
    .init(&mut peripherals.RESETS, 125_000_000u32.Hz(), 16_000_000u32.Hz(), MODE_0);

Structs§

Enums§

Traits§