aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorxoviat <[email protected]>2023-09-10 13:33:17 -0500
committerxoviat <[email protected]>2023-09-10 13:33:17 -0500
commit08415e001e93a35579a8fc8e41147df96d80da84 (patch)
tree2dc48380b549dc5c366567d0dbb7e9a356486ef7 /examples
parenta47fb42962fffda51efbce072087c8ca2504a225 (diff)
stm32/f3: add high res for hrtim and misc.
Diffstat (limited to 'examples')
-rw-r--r--examples/stm32f334/src/bin/adc.rs16
-rw-r--r--examples/stm32f334/src/bin/pwm.rs2
2 files changed, 12 insertions, 6 deletions
diff --git a/examples/stm32f334/src/bin/adc.rs b/examples/stm32f334/src/bin/adc.rs
index 6dffd6731..e8b2cd8a7 100644
--- a/examples/stm32f334/src/bin/adc.rs
+++ b/examples/stm32f334/src/bin/adc.rs
@@ -4,9 +4,9 @@
4 4
5use defmt::info; 5use defmt::info;
6use embassy_executor::Spawner; 6use embassy_executor::Spawner;
7use embassy_stm32::adc::{Adc, VREF_INT}; 7use embassy_stm32::adc::{Adc, SampleTime, VREF_INT};
8use embassy_stm32::rcc::{ADCClock, ADCPrescaler}; 8use embassy_stm32::rcc::AdcClockSource;
9use embassy_stm32::time::Hertz; 9use embassy_stm32::time::mhz;
10use embassy_stm32::Config; 10use embassy_stm32::Config;
11use embassy_time::{Delay, Duration, Timer}; 11use embassy_time::{Delay, Duration, Timer};
12use {defmt_rtt as _, panic_probe as _}; 12use {defmt_rtt as _, panic_probe as _};
@@ -14,9 +14,11 @@ use {defmt_rtt as _, panic_probe as _};
14#[embassy_executor::main] 14#[embassy_executor::main]
15async fn main(_spawner: Spawner) -> ! { 15async fn main(_spawner: Spawner) -> ! {
16 let mut config = Config::default(); 16 let mut config = Config::default();
17 config.rcc.hse = Some(Hertz(8_000_000)); 17 config.rcc.sysclk = Some(mhz(64));
18 config.rcc.sysclk = Some(Hertz(16_000_000)); 18 config.rcc.hclk = Some(mhz(64));
19 config.rcc.adc = Some(ADCClock::PLL(ADCPrescaler::Div1)); 19 config.rcc.pclk1 = Some(mhz(32));
20 config.rcc.pclk2 = Some(mhz(64));
21 config.rcc.adc = Some(AdcClockSource::PllDiv1);
20 22
21 let mut p = embassy_stm32::init(config); 23 let mut p = embassy_stm32::init(config);
22 24
@@ -24,6 +26,8 @@ async fn main(_spawner: Spawner) -> ! {
24 26
25 let mut adc = Adc::new(p.ADC1, &mut Delay); 27 let mut adc = Adc::new(p.ADC1, &mut Delay);
26 28
29 adc.set_sample_time(SampleTime::Cycles601_5);
30
27 info!("enable vrefint..."); 31 info!("enable vrefint...");
28 32
29 let mut vrefint = adc.enable_vref(&mut Delay); 33 let mut vrefint = adc.enable_vref(&mut Delay);
diff --git a/examples/stm32f334/src/bin/pwm.rs b/examples/stm32f334/src/bin/pwm.rs
index 2660b10c5..aebc421b3 100644
--- a/examples/stm32f334/src/bin/pwm.rs
+++ b/examples/stm32f334/src/bin/pwm.rs
@@ -5,6 +5,7 @@
5use defmt::*; 5use defmt::*;
6use embassy_executor::Spawner; 6use embassy_executor::Spawner;
7use embassy_stm32::hrtim::*; 7use embassy_stm32::hrtim::*;
8use embassy_stm32::rcc::HrtimClockSource;
8use embassy_stm32::time::{khz, mhz}; 9use embassy_stm32::time::{khz, mhz};
9use embassy_stm32::Config; 10use embassy_stm32::Config;
10use embassy_time::{Duration, Timer}; 11use embassy_time::{Duration, Timer};
@@ -17,6 +18,7 @@ async fn main(_spawner: Spawner) {
17 config.rcc.hclk = Some(mhz(64)); 18 config.rcc.hclk = Some(mhz(64));
18 config.rcc.pclk1 = Some(mhz(32)); 19 config.rcc.pclk1 = Some(mhz(32));
19 config.rcc.pclk2 = Some(mhz(64)); 20 config.rcc.pclk2 = Some(mhz(64));
21 config.rcc.hrtim = HrtimClockSource::PllClk;
20 22
21 let p = embassy_stm32::init(config); 23 let p = embassy_stm32::init(config);
22 info!("Hello World!"); 24 info!("Hello World!");