pub struct OpAmp<'d, T: Instance> { /* private fields */ }
Expand description
OpAmp driver.
Implementations§
Source§impl<'d, T: Instance> OpAmp<'d, T>
impl<'d, T: Instance> OpAmp<'d, T>
Sourcepub fn new(opamp: impl Peripheral<P = T> + 'd, speed: OpAmpSpeed) -> Self
pub fn new(opamp: impl Peripheral<P = T> + 'd, speed: OpAmpSpeed) -> Self
Create a new driver instance.
Does not enable the opamp, but does set the speed mode on some families.
Sourcepub fn buffer_ext(
&mut self,
in_pin: impl Peripheral<P = impl NonInvertingPin<T> + Pin>,
out_pin: impl Peripheral<P = impl OutputPin<T> + Pin>,
gain: OpAmpGain,
) -> OpAmpOutput<'_, T>
pub fn buffer_ext( &mut self, in_pin: impl Peripheral<P = impl NonInvertingPin<T> + Pin>, out_pin: impl Peripheral<P = impl OutputPin<T> + Pin>, gain: OpAmpGain, ) -> OpAmpOutput<'_, T>
Configure the OpAmp as a buffer for the provided input pin, outputting to the provided output pin, and enable the opamp.
The input pin is configured for analogue mode but not consumed, so it may subsequently be used for ADC or comparator inputs.
The output pin is held within the returned OpAmpOutput
struct,
preventing it being used elsewhere. The OpAmpOutput
can then be
directly used as an ADC input. The opamp will be disabled when the
OpAmpOutput
is dropped.
Sourcepub fn buffer_dac(
&mut self,
out_pin: impl Peripheral<P = impl OutputPin<T> + Pin>,
) -> OpAmpOutput<'_, T>
pub fn buffer_dac( &mut self, out_pin: impl Peripheral<P = impl OutputPin<T> + Pin>, ) -> OpAmpOutput<'_, T>
Configure the OpAmp as a buffer for the DAC it is connected to, outputting to the provided output pin, and enable the opamp.
The output pin is held within the returned OpAmpOutput
struct,
preventing it being used elsewhere. The OpAmpOutput
can then be
directly used as an ADC input. The opamp will be disabled when the
OpAmpOutput
is dropped.
Sourcepub fn buffer_int(
&mut self,
pin: impl Peripheral<P = impl NonInvertingPin<T> + Pin>,
gain: OpAmpGain,
) -> OpAmpInternalOutput<'_, T>
pub fn buffer_int( &mut self, pin: impl Peripheral<P = impl NonInvertingPin<T> + Pin>, gain: OpAmpGain, ) -> OpAmpInternalOutput<'_, T>
Configure the OpAmp as a buffer for the provided input pin, with the output only used internally, and enable the opamp.
The input pin is configured for analogue mode but not consumed, so it may be subsequently used for ADC or comparator inputs.
The returned OpAmpInternalOutput
struct may be used as an ADC input.
The opamp output will be disabled when it is dropped.