From 7a3d28ad0082ca62e806add32c8c0c52a3705b15 Mon Sep 17 00:00:00 2001 From: Frederik Date: Thu, 10 Feb 2022 23:21:40 +0100 Subject: stm32f4: add adc + example Example tested on stm32f407vg Discovery Board. minimal adc: no vref, dma, complex sequence --- examples/stm32f4/src/bin/adc.rs | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 examples/stm32f4/src/bin/adc.rs (limited to 'examples') diff --git a/examples/stm32f4/src/bin/adc.rs b/examples/stm32f4/src/bin/adc.rs new file mode 100644 index 000000000..0a6ddbbca --- /dev/null +++ b/examples/stm32f4/src/bin/adc.rs @@ -0,0 +1,26 @@ +#![no_std] +#![no_main] +#![feature(type_alias_impl_trait)] + +#[path = "../example_common.rs"] +mod example_common; + +use embassy::executor::Spawner; +use embassy::time::{Delay, Duration, Timer}; +use embassy_stm32::adc::Adc; +use embassy_stm32::Peripherals; +use example_common::*; + +#[embassy::main] +async fn main(_spawner: Spawner, p: Peripherals) { + info!("Hello World!"); + + let mut adc = Adc::new(p.ADC1, &mut Delay); + let mut pin = p.PC1; + + loop { + let v = adc.read(&mut pin); + info!("--> {} - {} mV", v, adc.to_millivolts(v)); + Timer::after(Duration::from_millis(100)).await; + } +} -- cgit