aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--embassy-stm32/src/adc/v1.rs4
-rw-r--r--examples/stm32l0/src/bin/adc.rs9
2 files changed, 6 insertions, 7 deletions
diff --git a/embassy-stm32/src/adc/v1.rs b/embassy-stm32/src/adc/v1.rs
index 83bf5aece..37115dfab 100644
--- a/embassy-stm32/src/adc/v1.rs
+++ b/embassy-stm32/src/adc/v1.rs
@@ -76,6 +76,10 @@ impl<'d, T: Instance> Adc<'d, T> {
76 // tstab = 14 * 1/fadc 76 // tstab = 14 * 1/fadc
77 delay.delay_us(1); 77 delay.delay_us(1);
78 78
79 // set default PCKL/2 on L0s because HSI is disabled in the default clock config
80 #[cfg(adc_l0)]
81 T::regs().cfgr2().modify(|reg| reg.set_ckmode(Ckmode::PCLK_DIV2));
82
79 // A.7.1 ADC calibration code example 83 // A.7.1 ADC calibration code example
80 T::regs().cfgr1().modify(|reg| reg.set_dmaen(false)); 84 T::regs().cfgr1().modify(|reg| reg.set_dmaen(false));
81 T::regs().cr().modify(|reg| reg.set_adcal(true)); 85 T::regs().cr().modify(|reg| reg.set_adcal(true));
diff --git a/examples/stm32l0/src/bin/adc.rs b/examples/stm32l0/src/bin/adc.rs
index eee69211c..adeaa208a 100644
--- a/examples/stm32l0/src/bin/adc.rs
+++ b/examples/stm32l0/src/bin/adc.rs
@@ -5,7 +5,7 @@ use defmt::*;
5use embassy_executor::Spawner; 5use embassy_executor::Spawner;
6use embassy_stm32::adc::{Adc, SampleTime}; 6use embassy_stm32::adc::{Adc, SampleTime};
7use embassy_stm32::peripherals::ADC; 7use embassy_stm32::peripherals::ADC;
8use embassy_stm32::{adc, bind_interrupts, Config}; 8use embassy_stm32::{adc, bind_interrupts};
9use embassy_time::{Delay, Timer}; 9use embassy_time::{Delay, Timer};
10use {defmt_rtt as _, panic_probe as _}; 10use {defmt_rtt as _, panic_probe as _};
11 11
@@ -15,12 +15,7 @@ bind_interrupts!(struct Irqs {
15 15
16#[embassy_executor::main] 16#[embassy_executor::main]
17async fn main(_spawner: Spawner) { 17async fn main(_spawner: Spawner) {
18 // enable HSI because default is MSI but ADC doesn't support 18 let p = embassy_stm32::init(Default::default());
19 // this as clock source on L0s and uses HSI by default
20 let mut config = Config::default();
21 config.rcc.hsi = true;
22 let p = embassy_stm32::init(config);
23
24 info!("Hello World!"); 19 info!("Hello World!");
25 20
26 let mut adc = Adc::new(p.ADC, Irqs, &mut Delay); 21 let mut adc = Adc::new(p.ADC, Irqs, &mut Delay);