[][src]Struct msp430fr2x5x_hal::gpio::Pin

pub struct Pin<PORT: PortNum, PIN: PinNum, DIR> { /* fields omitted */ }

A single GPIO pin.

Implementations

impl<PORT: PortNum, PIN: PinNum, PULL> Pin<PORT, PIN, Input<PULL>>[src]

pub fn pulldown(self) -> Pin<PORT, PIN, Input<Pulldown>>[src]

Configures pin as pulldown input. This method requires a Pxout token because configuring pull direction requires setting the PxOUT register, which can race with setting an output pin on the same port.

pub fn pullup(self) -> Pin<PORT, PIN, Input<Pullup>>[src]

Configures pin as pullup input. This method requires a Pxout token because configuring pull direction requires setting the PxOUT register, which can race with setting an output pin on the same port.

pub fn floating(self) -> Pin<PORT, PIN, Input<Floating>>[src]

Configures pin as floating input

impl<PORT: IntrPortNum, PIN: PinNum, PULL> Pin<PORT, PIN, Input<PULL>>[src]

pub fn select_rising_edge_trigger(&mut self) -> &mut Self[src]

Set interrupt trigger to rising edge and clear interrupt flag.

pub fn select_falling_edge_trigger(&mut self) -> &mut Self[src]

Set interrupt trigger to falling edge, the default, and clear interrupt flag.

pub fn enable_interrupts(&mut self) -> &mut Self[src]

Enable interrupts on input pin. Note that changing other GPIO configurations while interrupts are enabled can cause spurious interrupts.

pub fn disable_interrupt(&mut self) -> &mut Self[src]

Disable interrupts on input pin.

pub fn set_ifg(&mut self) -> &mut Self[src]

Set interrupt flag high, triggering an ISR if interrupts are enabled.

pub fn clear_ifg(&mut self) -> &mut Self[src]

Clear interrupt flag.

pub fn wait_for_ifg(&mut self) -> Result<(), Void>[src]

Wait for interrupt flag to go high nonblockingly. Clear the flag if high.

impl<PORT: PortNum, PIN: PinNum, PULL> Pin<PORT, PIN, Input<PULL>>[src]

pub fn to_output(self) -> Pin<PORT, PIN, Output>[src]

Configures pin as output

impl<PORT: PortNum, PIN: PinNum> Pin<PORT, PIN, Output>[src]

pub fn to_input_floating(self) -> Pin<PORT, PIN, Input<Floating>>[src]

Configures pin as floating input

pub fn to_input_pullup(self) -> Pin<PORT, PIN, Input<Pullup>>[src]

Configures pin as floating input

pub fn to_input_pulldown(self) -> Pin<PORT, PIN, Input<Pulldown>>[src]

Configures pin as floating input

impl<PORT: PortNum, PIN: PinNum, DIR: GpioFunction> Pin<PORT, PIN, DIR> where
    Self: ToAlternate1
[src]

pub fn to_alternate1(self) -> Pin<PORT, PIN, Alternate1<DIR>>[src]

Convert pin to GPIO alternate function 1

impl<PORT: PortNum, PIN: PinNum, DIR: GpioFunction> Pin<PORT, PIN, DIR> where
    Self: ToAlternate2
[src]

pub fn to_alternate2(self) -> Pin<PORT, PIN, Alternate2<DIR>>[src]

Convert pin to GPIO alternate function 2

impl<PORT: PortNum, PIN: PinNum, DIR: GpioFunction> Pin<PORT, PIN, DIR> where
    Self: ToAlternate3
[src]

pub fn to_alternate3(self) -> Pin<PORT, PIN, Alternate3<DIR>>[src]

Convert pin to GPIO alternate function 3

impl<PORT: PortNum, PIN: PinNum, DIR> Pin<PORT, PIN, Alternate1<DIR>>[src]

pub fn to_gpio(self) -> Pin<PORT, PIN, DIR>[src]

Convert pin to GPIO function

impl<PORT: PortNum, PIN: PinNum, DIR> Pin<PORT, PIN, Alternate1<DIR>> where
    Self: ToAlternate2
[src]

pub fn to_alternate2(self) -> Pin<PORT, PIN, Alternate2<DIR>>[src]

Convert pin to alternate function 2

impl<PORT: PortNum, PIN: PinNum, DIR> Pin<PORT, PIN, Alternate1<DIR>> where
    Self: ToAlternate3
[src]

pub fn to_alternate3(self) -> Pin<PORT, PIN, Alternate3<DIR>>[src]

Convert pin to alternate function 3

impl<PORT: PortNum, PIN: PinNum, DIR> Pin<PORT, PIN, Alternate2<DIR>>[src]

pub fn to_gpio(self) -> Pin<PORT, PIN, DIR>[src]

Convert pin to GPIO function

impl<PORT: PortNum, PIN: PinNum, DIR> Pin<PORT, PIN, Alternate2<DIR>> where
    Self: ToAlternate1
[src]

pub fn to_alternate1(self) -> Pin<PORT, PIN, Alternate1<DIR>>[src]

Convert pin to alternate function 1

impl<PORT: PortNum, PIN: PinNum, DIR> Pin<PORT, PIN, Alternate2<DIR>> where
    Self: ToAlternate3
[src]

pub fn to_alternate3(self) -> Pin<PORT, PIN, Alternate3<DIR>>[src]

Convert pin to alternate function 3

impl<PORT: PortNum, PIN: PinNum, DIR> Pin<PORT, PIN, Alternate3<DIR>>[src]

pub fn to_gpio(self) -> Pin<PORT, PIN, DIR>[src]

Convert pin to GPIO function

impl<PORT: PortNum, PIN: PinNum, DIR> Pin<PORT, PIN, Alternate3<DIR>> where
    Self: ToAlternate1
[src]

pub fn to_alternate1(self) -> Pin<PORT, PIN, Alternate1<DIR>>[src]

Convert pin to alternate function 1

impl<PORT: PortNum, PIN: PinNum, DIR> Pin<PORT, PIN, Alternate3<DIR>> where
    Self: ToAlternate2
[src]

pub fn to_alternate2(self) -> Pin<PORT, PIN, Alternate2<DIR>>[src]

Convert pin to alternate function 2

Trait Implementations

impl<PORT: PortNum, PIN: PinNum, PULL> InputPin for Pin<PORT, PIN, Input<PULL>>[src]

type Error = Void

Error type

impl<DIR> Into<UsciA0ClockPin> for Pin<P1, Pin5, Alternate1<DIR>>[src]

impl<DIR> Into<UsciA0RxPin> for Pin<P1, Pin6, Alternate1<DIR>>[src]

impl<DIR> Into<UsciA0TxPin> for Pin<P1, Pin7, Alternate1<DIR>>[src]

impl<DIR> Into<UsciA1ClockPin> for Pin<P4, Pin1, Alternate1<DIR>>[src]

impl<DIR> Into<UsciA1RxPin> for Pin<P4, Pin2, Alternate1<DIR>>[src]

impl<DIR> Into<UsciA1TxPin> for Pin<P4, Pin3, Alternate1<DIR>>[src]

impl<PORT: PortNum, PIN: PinNum> OutputPin for Pin<PORT, PIN, Output>[src]

type Error = Void

Error type

impl<PORT: PortNum, PIN: PinNum> StatefulOutputPin for Pin<PORT, PIN, Output>[src]

impl<PIN: PinNum, DIR> ToAlternate1 for Pin<P1, PIN, DIR>[src]

impl<DIR> ToAlternate1 for Pin<P2, Pin0, DIR>[src]

impl<DIR> ToAlternate1 for Pin<P5, Pin0, DIR>[src]

impl<DIR> ToAlternate1 for Pin<P5, Pin1, DIR>[src]

impl<DIR> ToAlternate1 for Pin<P5, Pin2, DIR>[src]

impl<DIR> ToAlternate1 for Pin<P5, Pin3, DIR>[src]

impl<PIN: PinNum, DIR> ToAlternate1 for Pin<P6, PIN, DIR>[src]

impl<DIR> ToAlternate1 for Pin<P2, Pin1, DIR>[src]

impl<PULL> ToAlternate1 for Pin<P2, Pin2, Input<PULL>>[src]

impl<DIR> ToAlternate1 for Pin<P2, Pin3, DIR>[src]

impl<DIR> ToAlternate1 for Pin<P2, Pin6, DIR>[src]

impl<DIR> ToAlternate1 for Pin<P2, Pin7, DIR>[src]

impl<DIR> ToAlternate1 for Pin<P3, Pin0, DIR>[src]

impl<DIR> ToAlternate1 for Pin<P3, Pin4, DIR>[src]

impl<PIN: PinNum, DIR> ToAlternate1 for Pin<P4, PIN, DIR>[src]

impl<DIR> ToAlternate2 for Pin<P1, Pin0, DIR>[src]

impl<DIR> ToAlternate2 for Pin<P1, Pin1, DIR>[src]

impl<DIR> ToAlternate2 for Pin<P4, Pin2, DIR>[src]

impl<DIR> ToAlternate2 for Pin<P4, Pin3, DIR>[src]

impl<DIR> ToAlternate2 for Pin<P5, Pin0, DIR>[src]

impl<DIR> ToAlternate2 for Pin<P5, Pin1, DIR>[src]

impl<PULL> ToAlternate2 for Pin<P1, Pin2, Input<PULL>>[src]

impl<DIR> ToAlternate2 for Pin<P1, Pin6, DIR>[src]

impl<DIR> ToAlternate2 for Pin<P1, Pin7, DIR>[src]

impl ToAlternate2 for Pin<P2, Pin0, Output>[src]

impl ToAlternate2 for Pin<P2, Pin1, Output>[src]

impl<DIR> ToAlternate2 for Pin<P2, Pin6, DIR>[src]

impl<DIR> ToAlternate2 for Pin<P2, Pin7, DIR>[src]

impl<DIR> ToAlternate2 for Pin<P4, Pin0, DIR>[src]

impl<PIN: PinNum, DIR> ToAlternate3 for Pin<P1, PIN, DIR>[src]

impl<DIR> ToAlternate3 for Pin<P2, Pin4, DIR>[src]

impl<DIR> ToAlternate3 for Pin<P5, Pin1, DIR>[src]

impl<DIR> ToAlternate3 for Pin<P5, Pin2, DIR>[src]

impl<DIR> ToAlternate3 for Pin<P5, Pin3, DIR>[src]

impl<DIR> ToAlternate3 for Pin<P2, Pin5, DIR>[src]

impl<DIR> ToAlternate3 for Pin<P3, Pin1, DIR>[src]

impl<DIR> ToAlternate3 for Pin<P3, Pin2, DIR>[src]

impl<DIR> ToAlternate3 for Pin<P3, Pin3, DIR>[src]

impl<DIR> ToAlternate3 for Pin<P3, Pin5, DIR>[src]

impl<DIR> ToAlternate3 for Pin<P3, Pin6, DIR>[src]

impl<DIR> ToAlternate3 for Pin<P3, Pin7, DIR>[src]

impl<DIR> ToAlternate3 for Pin<P5, Pin0, DIR>[src]

impl<PORT: PortNum, PIN: PinNum> ToggleableOutputPin for Pin<PORT, PIN, Output>[src]

type Error = Void

Error type

Auto Trait Implementations

impl<PORT, PIN, DIR> Send for Pin<PORT, PIN, DIR> where
    DIR: Send,
    PIN: Send,
    PORT: Send
[src]

impl<PORT, PIN, DIR> Sync for Pin<PORT, PIN, DIR> where
    DIR: Sync,
    PIN: Sync,
    PORT: Sync
[src]

impl<PORT, PIN, DIR> Unpin for Pin<PORT, PIN, DIR> where
    DIR: Unpin,
    PIN: Unpin,
    PORT: Unpin
[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.