aboutsummaryrefslogtreecommitdiff
path: root/embassy-stm32/src/adc
diff options
context:
space:
mode:
authorpbert <[email protected]>2023-10-11 21:38:41 +0200
committerpbert <[email protected]>2023-10-12 11:04:44 +0200
commitecdd7c0e2f9dcc07e53e136557140d3ccc6a5ee1 (patch)
tree6db9bf875d3e83d94f6bf8e8a2e7ff03a83c5bb4 /embassy-stm32/src/adc
parentd7d79f3068a4a2d883b078b8900ad194f7c98203 (diff)
enable clock first
Diffstat (limited to 'embassy-stm32/src/adc')
-rw-r--r--embassy-stm32/src/adc/f1.rs2
-rw-r--r--embassy-stm32/src/adc/f3.rs2
-rw-r--r--embassy-stm32/src/adc/v1.rs2
-rw-r--r--embassy-stm32/src/adc/v2.rs2
-rw-r--r--embassy-stm32/src/adc/v3.rs2
-rw-r--r--embassy-stm32/src/adc/v4.rs2
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 {
51impl<'d, T: Instance> Adc<'d, T> { 51impl<'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 {
48impl<'d, T: Instance> Adc<'d, T> { 48impl<'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 {
127impl<'d, T: Instance> Adc<'d, T> { 127impl<'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