diff options
| author | pbert <[email protected]> | 2023-10-11 21:38:41 +0200 |
|---|---|---|
| committer | pbert <[email protected]> | 2023-10-12 11:04:44 +0200 |
| commit | ecdd7c0e2f9dcc07e53e136557140d3ccc6a5ee1 (patch) | |
| tree | 6db9bf875d3e83d94f6bf8e8a2e7ff03a83c5bb4 /embassy-stm32/src/adc | |
| parent | d7d79f3068a4a2d883b078b8900ad194f7c98203 (diff) | |
enable clock first
Diffstat (limited to 'embassy-stm32/src/adc')
| -rw-r--r-- | embassy-stm32/src/adc/f1.rs | 2 | ||||
| -rw-r--r-- | embassy-stm32/src/adc/f3.rs | 2 | ||||
| -rw-r--r-- | embassy-stm32/src/adc/v1.rs | 2 | ||||
| -rw-r--r-- | embassy-stm32/src/adc/v2.rs | 2 | ||||
| -rw-r--r-- | embassy-stm32/src/adc/v3.rs | 2 | ||||
| -rw-r--r-- | embassy-stm32/src/adc/v4.rs | 2 |
6 files changed, 6 insertions, 6 deletions
diff --git a/embassy-stm32/src/adc/f1.rs b/embassy-stm32/src/adc/f1.rs index 5f5bf4bfa..ad0f13826 100644 --- a/embassy-stm32/src/adc/f1.rs +++ b/embassy-stm32/src/adc/f1.rs | |||
| @@ -51,7 +51,7 @@ impl<T: Instance> super::sealed::AdcPin<T> for Temperature { | |||
| 51 | impl<'d, T: Instance> Adc<'d, T> { | 51 | impl<'d, T: Instance> Adc<'d, T> { |
| 52 | pub fn new(adc: impl Peripheral<P = T> + 'd, delay: &mut impl DelayUs<u32>) -> Self { | 52 | pub fn new(adc: impl Peripheral<P = T> + 'd, delay: &mut impl DelayUs<u32>) -> Self { |
| 53 | into_ref!(adc); | 53 | into_ref!(adc); |
| 54 | T::reset_and_enable(); | 54 | T::enable_and_reset(); |
| 55 | T::regs().cr2().modify(|reg| reg.set_adon(true)); | 55 | T::regs().cr2().modify(|reg| reg.set_adon(true)); |
| 56 | 56 | ||
| 57 | // 11.4: Before starting a calibration, the ADC must have been in power-on state (ADON bit = ‘1’) | 57 | // 11.4: Before starting a calibration, the ADC must have been in power-on state (ADON bit = ‘1’) |
diff --git a/embassy-stm32/src/adc/f3.rs b/embassy-stm32/src/adc/f3.rs index e94f61413..6f59c230f 100644 --- a/embassy-stm32/src/adc/f3.rs +++ b/embassy-stm32/src/adc/f3.rs | |||
| @@ -64,7 +64,7 @@ impl<'d, T: Instance> Adc<'d, T> { | |||
| 64 | 64 | ||
| 65 | into_ref!(adc); | 65 | into_ref!(adc); |
| 66 | 66 | ||
| 67 | T::reset_and_enable(); | 67 | T::enable_and_reset(); |
| 68 | 68 | ||
| 69 | // Enable the adc regulator | 69 | // Enable the adc regulator |
| 70 | T::regs().cr().modify(|w| w.set_advregen(vals::Advregen::INTERMEDIATE)); | 70 | T::regs().cr().modify(|w| w.set_advregen(vals::Advregen::INTERMEDIATE)); |
diff --git a/embassy-stm32/src/adc/v1.rs b/embassy-stm32/src/adc/v1.rs index f03acdcf4..852b027df 100644 --- a/embassy-stm32/src/adc/v1.rs +++ b/embassy-stm32/src/adc/v1.rs | |||
| @@ -61,7 +61,7 @@ impl<'d, T: Instance> Adc<'d, T> { | |||
| 61 | delay: &mut impl DelayUs<u32>, | 61 | delay: &mut impl DelayUs<u32>, |
| 62 | ) -> Self { | 62 | ) -> Self { |
| 63 | into_ref!(adc); | 63 | into_ref!(adc); |
| 64 | T::reset_and_enable(); | 64 | T::enable_and_reset(); |
| 65 | 65 | ||
| 66 | // Delay 1μs when using HSI14 as the ADC clock. | 66 | // Delay 1μs when using HSI14 as the ADC clock. |
| 67 | // | 67 | // |
diff --git a/embassy-stm32/src/adc/v2.rs b/embassy-stm32/src/adc/v2.rs index 89e7616bc..eda1324de 100644 --- a/embassy-stm32/src/adc/v2.rs +++ b/embassy-stm32/src/adc/v2.rs | |||
| @@ -95,7 +95,7 @@ where | |||
| 95 | { | 95 | { |
| 96 | pub fn new(adc: impl Peripheral<P = T> + 'd, delay: &mut impl DelayUs<u32>) -> Self { | 96 | pub fn new(adc: impl Peripheral<P = T> + 'd, delay: &mut impl DelayUs<u32>) -> Self { |
| 97 | into_ref!(adc); | 97 | into_ref!(adc); |
| 98 | T::reset_and_enable(); | 98 | T::enable_and_reset(); |
| 99 | 99 | ||
| 100 | let presc = Prescaler::from_pclk2(T::frequency()); | 100 | let presc = Prescaler::from_pclk2(T::frequency()); |
| 101 | T::common_regs().ccr().modify(|w| w.set_adcpre(presc.adcpre())); | 101 | T::common_regs().ccr().modify(|w| w.set_adcpre(presc.adcpre())); |
diff --git a/embassy-stm32/src/adc/v3.rs b/embassy-stm32/src/adc/v3.rs index e50e6482c..281a99f72 100644 --- a/embassy-stm32/src/adc/v3.rs +++ b/embassy-stm32/src/adc/v3.rs | |||
| @@ -48,7 +48,7 @@ impl<T: Instance> super::sealed::AdcPin<T> for Vbat { | |||
| 48 | impl<'d, T: Instance> Adc<'d, T> { | 48 | impl<'d, T: Instance> Adc<'d, T> { |
| 49 | pub fn new(adc: impl Peripheral<P = T> + 'd, delay: &mut impl DelayUs<u32>) -> Self { | 49 | pub fn new(adc: impl Peripheral<P = T> + 'd, delay: &mut impl DelayUs<u32>) -> Self { |
| 50 | into_ref!(adc); | 50 | into_ref!(adc); |
| 51 | T::reset_and_enable(); | 51 | T::enable_and_reset(); |
| 52 | T::regs().cr().modify(|reg| { | 52 | T::regs().cr().modify(|reg| { |
| 53 | #[cfg(not(adc_g0))] | 53 | #[cfg(not(adc_g0))] |
| 54 | reg.set_deeppwd(false); | 54 | reg.set_deeppwd(false); |
diff --git a/embassy-stm32/src/adc/v4.rs b/embassy-stm32/src/adc/v4.rs index 6d86e5cdf..d74617cb3 100644 --- a/embassy-stm32/src/adc/v4.rs +++ b/embassy-stm32/src/adc/v4.rs | |||
| @@ -127,7 +127,7 @@ impl Prescaler { | |||
| 127 | impl<'d, T: Instance> Adc<'d, T> { | 127 | impl<'d, T: Instance> Adc<'d, T> { |
| 128 | pub fn new(adc: impl Peripheral<P = T> + 'd, delay: &mut impl DelayUs<u16>) -> Self { | 128 | pub fn new(adc: impl Peripheral<P = T> + 'd, delay: &mut impl DelayUs<u16>) -> Self { |
| 129 | embassy_hal_internal::into_ref!(adc); | 129 | embassy_hal_internal::into_ref!(adc); |
| 130 | T::reset_and_enable(); | 130 | T::enable_and_reset(); |
| 131 | 131 | ||
| 132 | let prescaler = Prescaler::from_ker_ck(T::frequency()); | 132 | let prescaler = Prescaler::from_ker_ck(T::frequency()); |
| 133 | 133 | ||
