Struct stm32_hal2::dac::Dac
source · [−]pub struct Dac<R> {
pub regs: R,
/* private fields */
}
Expand description
Represents a Digital to Analog Converter (DAC) peripheral.
Fields
regs: R
Implementations
sourceimpl<R> Dac<R> where
R: Deref<Target = RegisterBlock> + RccPeriph,
impl<R> Dac<R> where
R: Deref<Target = RegisterBlock> + RccPeriph,
sourcepub fn new(regs: R, bits: DacBits, vref: f32) -> Self
pub fn new(regs: R, bits: DacBits, vref: f32) -> Self
Initialize a DAC peripheral, including enabling and resetting
its RCC peripheral clock. vref
is in volts.
sourcepub fn calibrate_buffer(&mut self, channel: DacChannel, delay: &mut Delay)
pub fn calibrate_buffer(&mut self, channel: DacChannel, delay: &mut Delay)
Calibrate the DAC output buffer by performing a “User trimming” operation. It is useful when the VDDA/VREF+ voltage or temperature differ from the factory trimming conditions.
The calibration is only valid when the DAC channel is operating with the buffer enabled. If applied in other modes it has no effect.
After the calibration operation, the DAC channel is disabled.
sourcepub fn enable(&mut self, channel: DacChannel)
pub fn enable(&mut self, channel: DacChannel)
Enable the DAC, for a specific channel.
sourcepub fn disable(&mut self, channel: DacChannel)
pub fn disable(&mut self, channel: DacChannel)
Disable the DAC, for a specific channel.
sourcepub fn write(&mut self, channel: DacChannel, val: u16)
pub fn write(&mut self, channel: DacChannel, val: u16)
Set the DAC output word.
sourcepub unsafe fn write_dma<D>(
&mut self,
buf: &[u16],
dac_channel: DacChannel,
dma_channel: DmaChannel,
channel_cfg: ChannelCfg,
dma: &mut Dma<D>
) where
D: Deref<Target = RegisterBlock>,
pub unsafe fn write_dma<D>(
&mut self,
buf: &[u16],
dac_channel: DacChannel,
dma_channel: DmaChannel,
channel_cfg: ChannelCfg,
dma: &mut Dma<D>
) where
D: Deref<Target = RegisterBlock>,
Send values to the DAC using DMA. Each trigger (Eg using a timer; the basic timers Tim6 and Tim7 are designed for DAC triggering) sends one word from the buffer to the DAC’s output.
sourcepub fn write_voltage(&mut self, channel: DacChannel, volts: f32)
pub fn write_voltage(&mut self, channel: DacChannel, volts: f32)
Set the DAC output voltage.
sourcepub fn set_trigger(&mut self, channel: DacChannel, trigger: Trigger)
pub fn set_trigger(&mut self, channel: DacChannel, trigger: Trigger)
Select and activate a trigger. See f303 Reference manual, section 16.5.4. Each time a DAC interface detects a rising edge on the selected trigger source (refer to the table below), the last data stored into the DAC_DHRx register are transferred into the DAC_DORx register. The DAC_DORx register is updated three dac_pclk cycles after the trigger occurs.
sourcepub fn trigger_lfsr(&mut self, channel: DacChannel, trigger: Trigger, data: u16)
pub fn trigger_lfsr(&mut self, channel: DacChannel, trigger: Trigger, data: u16)
Independent trigger with single LFSR generation See f303 Reference Manual section 16.5.2
sourcepub fn trigger_triangle(
&mut self,
channel: DacChannel,
trigger: Trigger,
data: u16
)
pub fn trigger_triangle(
&mut self,
channel: DacChannel,
trigger: Trigger,
data: u16
)
Independent trigger with single triangle generation See f303 Reference Manual section 16.5.2
sourcepub fn enable_interrupt(&mut self, channel: DacChannel)
pub fn enable_interrupt(&mut self, channel: DacChannel)
Enable the DMA Underrun interrupt - the only interrupt available.
sourcepub fn clear_interrupt(&mut self, channel: DacChannel)
pub fn clear_interrupt(&mut self, channel: DacChannel)
Clear the DMA Underrun interrupt - the only interrupt available.
Auto Trait Implementations
impl<R> RefUnwindSafe for Dac<R> where
R: RefUnwindSafe,
impl<R> Send for Dac<R> where
R: Send,
impl<R> Sync for Dac<R> where
R: Sync,
impl<R> Unpin for Dac<R> where
R: Unpin,
impl<R> UnwindSafe for Dac<R> where
R: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more