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