pub struct Adc<'d, T: Instance> { /* private fields */ }
Expand description
Analog to Digital driver.
Implementations§
Source§impl<'d, T: Instance> Adc<'d, T>
impl<'d, T: Instance> Adc<'d, T>
Sourcepub fn init_watchdog(
&mut self,
channels: WatchdogChannels,
low_threshold: u16,
high_threshold: u16,
)
pub fn init_watchdog( &mut self, channels: WatchdogChannels, low_threshold: u16, high_threshold: u16, )
Configure the analog window watchdog to monitor one or more ADC channels
high_threshold
and low_threshold
are expressed in the same way as ADC results. The format
depends on the values of CFGR1.ALIGN and CFGR1.RES.
Sourcepub async fn monitor_watchdog(&mut self) -> u16
pub async fn monitor_watchdog(&mut self) -> u16
Monitor the voltage on the selected channels; return when it crosses the thresholds.
ⓘ
// Wait for pin to go high
adc.init_watchdog(WatchdogChannels::from_channel(&pin), 0, 0x07F);
let v_high = adc.monitor_watchdog().await;
info!("ADC sample is high {}", v_high);
Sourcepub fn stop_watchdog(&mut self)
pub fn stop_watchdog(&mut self)
Stop monitoring the selected channels
Source§impl<'d, T: Instance> Adc<'d, T>
impl<'d, T: Instance> Adc<'d, T>
pub fn new( adc: Peri<'d, T>, _irq: impl Binding<T::Interrupt, InterruptHandler<T>> + 'd, ) -> Self
pub fn enable_vref(&self) -> Vref
pub fn enable_temperature(&self) -> Temperature
pub fn set_sample_time(&mut self, sample_time: SampleTime)
pub fn set_resolution(&mut self, resolution: Resolution)
pub fn set_ckmode(&mut self, ckmode: Ckmode)
pub async fn read(&mut self, channel: &mut impl AdcChannel<T>) -> u16
Trait Implementations§
Auto Trait Implementations§
impl<'d, T> Freeze for Adc<'d, T>where
T: Freeze,
impl<'d, T> RefUnwindSafe for Adc<'d, T>where
T: RefUnwindSafe,
impl<'d, T> Send for Adc<'d, T>where
T: Send,
impl<'d, T> Sync for Adc<'d, T>where
T: Sync,
impl<'d, T> Unpin for Adc<'d, T>where
T: Unpin,
impl<'d, T> !UnwindSafe for Adc<'d, T>
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