aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorxoviat <[email protected]>2023-09-05 17:02:28 -0500
committerxoviat <[email protected]>2023-09-05 17:02:28 -0500
commit7573160077ab40974f8f5ec7b79bc2fa21c49ab7 (patch)
treeecd415170dd132ea9f9c880020b6ecd097043b9e /examples
parent7e18e5e0c123027f15dd7a75706b9950da9aed0c (diff)
parent9d76a6e933259be6783b2ba06b6cefa85f3a6732 (diff)
Merge branch 'main' of https://github.com/embassy-rs/embassy into adc-g4
Diffstat (limited to 'examples')
-rw-r--r--examples/stm32f334/src/bin/adc.rs34
1 files changed, 34 insertions, 0 deletions
diff --git a/examples/stm32f334/src/bin/adc.rs b/examples/stm32f334/src/bin/adc.rs
new file mode 100644
index 000000000..729497e82
--- /dev/null
+++ b/examples/stm32f334/src/bin/adc.rs
@@ -0,0 +1,34 @@
1#![no_std]
2#![no_main]
3#![feature(type_alias_impl_trait)]
4
5use defmt::info;
6use embassy_executor::Spawner;
7use embassy_stm32::adc::Adc;
8use embassy_stm32::rcc::{ADCClock, ADCPrescaler};
9use embassy_stm32::time::Hertz;
10use embassy_stm32::Config;
11use embassy_time::{Delay, Duration, Timer};
12use {defmt_rtt as _, panic_probe as _};
13
14#[embassy_executor::main]
15async fn main(_spawner: Spawner) -> ! {
16 let mut config = Config::default();
17 config.rcc.hse = Some(Hertz(8_000_000));
18 config.rcc.sysclk = Some(Hertz(16_000_000));
19 config.rcc.adc = Some(ADCClock::PLL(ADCPrescaler::Div1));
20
21 let mut p = embassy_stm32::init(config);
22
23 let mut adc = Adc::new(p.ADC1, &mut Delay);
24
25 let mut vrefint = adc.enable_vref(&mut Delay);
26
27 let _vref = adc.read(&mut vrefint);
28 let _pin = adc.read(&mut p.PA0);
29
30 loop {
31 info!("Hello World!");
32 Timer::after(Duration::from_secs(1)).await;
33 }
34}