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§
- Spi is disabled
- Spi is enabled
- Configured Spi bus.
- A runtime validated Cs pin for spi.
- A runtime validated Rx pin for spi.
- A runtime validated Sck pin for spi.
- A runtime validated Tx pin for spi.
Enums§
- SPI frame format
Traits§
- Data size used in spi
- Pac SPI device
- State of the SPI
- Indicates a valid optional Cs pin for SPI0 or SPI1
- Indicates a valid optional Rx pin for SPI0 or SPI1
- Indicates a valid optional Sck pin for SPI0 or SPI1
- Indicates a valid optional Tx pin for SPI0 or SPI1
- Indicates a valid Cs pin for SPI0 or SPI1
- Indicates a valid Cs pin for SPI0 or SPI1
- Indicates a valid Rx pin for SPI0 or SPI1
- Indicates a valid Sck pin for SPI0 or SPI1
- Indicates a valid Tx pin for SPI0 or SPI1
- Indicates a valid Rx pin for SPI0 or SPI1
- Indicates a valid Sck pin for SPI0 or SPI1
- Indicates a valid Tx pin for SPI0 or SPI1
- Declares a valid SPI pinout.