Module lpc82x_hal::gpio
[−]
[src]
API for General Purpose I/O (GPIO)
The entry point for this API is GPIO
. GPIO
provides access to the
gpio::Handle
, which you can use to initialize the GPIO peripheral, and
to instances of Pin
, which allow you to configure pins.
The GPIO peripheral is described in the user manual, chapter 9.
Examples
Initialize a GPIO pin and set its output to HIGH:
extern crate lpc82x; extern crate lpc82x_hal; use lpc82x_hal::prelude::*; use lpc82x_hal::{ GPIO, SYSCON, }; let mut peripherals = lpc82x::Peripherals::take().unwrap(); let gpio = GPIO::new(&mut peripherals.GPIO_PORT); let mut syscon = SYSCON::new(&mut peripherals.SYSCON); let gpio_handle = gpio.handle.init(&mut syscon.handle); let pio0_12 = unsafe { gpio.pins.pio0_12.affirm_default_state() } .as_gpio_pin(&gpio_handle) .as_output() .set_high();
Assign a pin to the switch matrix and enable a fixed function:
extern crate lpc82x; extern crate lpc82x_hal; use lpc82x_hal::prelude::*; use lpc82x_hal::{ GPIO, SWM, SYSCON, }; let mut peripherals = lpc82x::Peripherals::take().unwrap(); let gpio = GPIO::new(&mut peripherals.GPIO_PORT); let swm = SWM::new(&mut peripherals.SWM); let mut syscon = SYSCON::new(&mut peripherals.SYSCON); let mut swm_handle = swm.handle.init(&mut syscon.handle); let vddcmp = unsafe { swm.fixed_functions.vddcmp.affirm_default_state() }; let pio0_6 = unsafe { gpio.pins.pio0_6.affirm_default_state() } .as_swm_pin() .enable_input_function(vddcmp, &mut swm_handle);
Modules
direction |
Contains types to indicate the direction of GPIO pins |
pin_state |
Contains types to indicate pin states |
Structs
GPIO |
Entry point to the GPIO API |
Handle |
The handle to the GPIO peripheral |
PIO0_0 |
Identifies a specific pin |
PIO0_1 |
Identifies a specific pin |
PIO0_2 |
Identifies a specific pin |
PIO0_3 |
Identifies a specific pin |
PIO0_4 |
Identifies a specific pin |
PIO0_5 |
Identifies a specific pin |
PIO0_6 |
Identifies a specific pin |
PIO0_7 |
Identifies a specific pin |
PIO0_8 |
Identifies a specific pin |
PIO0_9 |
Identifies a specific pin |
PIO0_10 |
Identifies a specific pin |
PIO0_11 |
Identifies a specific pin |
PIO0_12 |
Identifies a specific pin |
PIO0_13 |
Identifies a specific pin |
PIO0_14 |
Identifies a specific pin |
PIO0_15 |
Identifies a specific pin |
PIO0_16 |
Identifies a specific pin |
PIO0_17 |
Identifies a specific pin |
PIO0_18 |
Identifies a specific pin |
PIO0_19 |
Identifies a specific pin |
PIO0_20 |
Identifies a specific pin |
PIO0_21 |
Identifies a specific pin |
PIO0_22 |
Identifies a specific pin |
PIO0_23 |
Identifies a specific pin |
PIO0_24 |
Identifies a specific pin |
PIO0_25 |
Identifies a specific pin |
PIO0_26 |
Identifies a specific pin |
PIO0_27 |
Identifies a specific pin |
PIO0_28 |
Identifies a specific pin |
Pin |
Provides access to pin functionality |
Pins |
Provides access to all pins |
Traits
PinName |
Represents a specific pin |