Struct stm32wlxx_hal::gpio::Analog
source · pub struct Analog<P> { /* private fields */ }
Expand description
Analog pin
Implementations§
source§impl<P> Analog<P>where
P: PinOps + AdcCh,
impl<P> Analog<P>where P: PinOps + AdcCh,
sourcepub fn new(pin: P, cs: &CriticalSection) -> Self
pub fn new(pin: P, cs: &CriticalSection) -> Self
Create a new analog pin from a GPIO.
Example
Configure GPIO B14 as an analog pin (ADC_IN1).
use stm32wlxx_hal::{
gpio::{pins, Analog, PortB},
pac,
};
let mut dp: pac::Peripherals = pac::Peripherals::take().unwrap();
let gpiob: PortB = PortB::split(dp.GPIOB, &mut dp.RCC);
let mut b14: Analog<pins::B14> = cortex_m::interrupt::free(|cs| Analog::new(gpiob.b14, cs));
sourcepub fn free(self) -> P
pub fn free(self) -> P
Free the GPIO pin.
Example
Configure a GPIO as an analog pin, then free it.
use stm32wlxx_hal::{
gpio::{pins, Analog, PortB},
pac,
};
let mut dp: pac::Peripherals = pac::Peripherals::take().unwrap();
let gpiob: PortB = PortB::split(dp.GPIOB, &mut dp.RCC);
let b14: Analog<pins::B14> = cortex_m::interrupt::free(|cs| Analog::new(gpiob.b14, cs));
let b14: pins::B14 = b14.free();
Trait Implementations§
Auto Trait Implementations§
impl<P> RefUnwindSafe for Analog<P>where P: RefUnwindSafe,
impl<P> Send for Analog<P>where P: Send,
impl<P> Sync for Analog<P>where P: Sync,
impl<P> Unpin for Analog<P>where P: Unpin,
impl<P> UnwindSafe for Analog<P>where P: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more