[−][src]Struct msp430fr2x5x_hal::gpio::Pin
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]
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]
Self: ToAlternate1,
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]
Self: ToAlternate2,
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]
Self: ToAlternate3,
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]
impl<PORT: PortNum, PIN: PinNum, DIR> Pin<PORT, PIN, Alternate1<DIR>> where
Self: ToAlternate2,
[src]
Self: ToAlternate2,
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]
Self: ToAlternate3,
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]
impl<PORT: PortNum, PIN: PinNum, DIR> Pin<PORT, PIN, Alternate2<DIR>> where
Self: ToAlternate1,
[src]
Self: ToAlternate1,
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]
Self: ToAlternate3,
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]
impl<PORT: PortNum, PIN: PinNum, DIR> Pin<PORT, PIN, Alternate3<DIR>> where
Self: ToAlternate1,
[src]
Self: ToAlternate1,
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]
Self: ToAlternate2,
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
pub fn is_high(&self) -> Result<bool, Self::Error>
[src]
pub fn is_low(&self) -> Result<bool, Self::Error>
[src]
impl<DIR> Into<UsciA0ClockPin> for Pin<P1, Pin5, Alternate1<DIR>>
[src]
pub fn into(self) -> UsciA0ClockPin
[src]
impl<DIR> Into<UsciA0RxPin> for Pin<P1, Pin6, Alternate1<DIR>>
[src]
pub fn into(self) -> UsciA0RxPin
[src]
impl<DIR> Into<UsciA0TxPin> for Pin<P1, Pin7, Alternate1<DIR>>
[src]
pub fn into(self) -> UsciA0TxPin
[src]
impl<DIR> Into<UsciA1ClockPin> for Pin<P4, Pin1, Alternate1<DIR>>
[src]
pub fn into(self) -> UsciA1ClockPin
[src]
impl<DIR> Into<UsciA1RxPin> for Pin<P4, Pin2, Alternate1<DIR>>
[src]
pub fn into(self) -> UsciA1RxPin
[src]
impl<DIR> Into<UsciA1TxPin> for Pin<P4, Pin3, Alternate1<DIR>>
[src]
pub fn into(self) -> UsciA1TxPin
[src]
impl<PORT: PortNum, PIN: PinNum> OutputPin for Pin<PORT, PIN, Output>
[src]
type Error = Void
Error type
pub fn set_low(&mut self) -> Result<(), Self::Error>
[src]
pub fn set_high(&mut self) -> Result<(), Self::Error>
[src]
impl<PORT: PortNum, PIN: PinNum> StatefulOutputPin for Pin<PORT, PIN, Output>
[src]
pub fn is_set_high(&self) -> Result<bool, Self::Error>
[src]
pub fn is_set_low(&self) -> Result<bool, Self::Error>
[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]
Auto Trait Implementations
impl<PORT, PIN, DIR> Send for Pin<PORT, PIN, DIR> where
DIR: Send,
PIN: Send,
PORT: Send,
[src]
DIR: Send,
PIN: Send,
PORT: Send,
impl<PORT, PIN, DIR> Sync for Pin<PORT, PIN, DIR> where
DIR: Sync,
PIN: Sync,
PORT: Sync,
[src]
DIR: Sync,
PIN: Sync,
PORT: Sync,
impl<PORT, PIN, DIR> Unpin for Pin<PORT, PIN, DIR> where
DIR: Unpin,
PIN: Unpin,
PORT: Unpin,
[src]
DIR: Unpin,
PIN: Unpin,
PORT: Unpin,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,