diff options
| author | Grant Miller <[email protected]> | 2023-04-05 15:12:27 -0500 |
|---|---|---|
| committer | Grant Miller <[email protected]> | 2023-04-05 15:12:27 -0500 |
| commit | efd9e18321c258a188fa675804d59346a4c11cc2 (patch) | |
| tree | b58c19135a521d8c6ce43cbf1b6f082422542684 | |
| parent | f5881054297713f6224d5d81f407f8a6cf591ef4 (diff) | |
Fix example
| -rw-r--r-- | examples/stm32f0/src/bin/adc.rs | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/examples/stm32f0/src/bin/adc.rs b/examples/stm32f0/src/bin/adc.rs index 6205596f6..c639299d2 100644 --- a/examples/stm32f0/src/bin/adc.rs +++ b/examples/stm32f0/src/bin/adc.rs | |||
| @@ -16,12 +16,21 @@ async fn main(_spawner: Spawner) { | |||
| 16 | let mut adc = Adc::new(p.ADC, &mut Delay); | 16 | let mut adc = Adc::new(p.ADC, &mut Delay); |
| 17 | adc.set_sample_time(SampleTime::Cycles71_5); | 17 | adc.set_sample_time(SampleTime::Cycles71_5); |
| 18 | let mut pin = p.PA1; | 18 | let mut pin = p.PA1; |
| 19 | let mut vref = adc.enable_temperature(&mut Delay); | 19 | |
| 20 | let mut vrefint = adc.enable_vref(&mut Delay); | ||
| 21 | let vrefint_sample = adc.read_internal(&mut vrefint); | ||
| 22 | let convert_to_millivolts = |sample| { | ||
| 23 | // FIXME: use proper datasheet and value | ||
| 24 | // From http://www.st.com/resource/en/datasheet/CD00161566.pdf | ||
| 25 | // 5.3.4 Embedded reference voltage | ||
| 26 | const VREFINT_MV: u32 = 1200; // mV | ||
| 27 | |||
| 28 | (u32::from(sample) * VREFINT_MV / u32::from(vrefint_sample)) as u16 | ||
| 29 | }; | ||
| 20 | 30 | ||
| 21 | loop { | 31 | loop { |
| 22 | let v = adc.read(&mut pin); | 32 | let v = adc.read(&mut pin); |
| 23 | let r = adc.read_internal(&mut vref); | 33 | info!("--> {} - {} mV", v, convert_to_millivolts(v)); |
| 24 | info!("--> {} - {} mV / vref = {} - {} mV", v, adc.to_millivolts(v), r, adc.to_millivolts(r)); | ||
| 25 | Timer::after(Duration::from_millis(100)).await; | 34 | Timer::after(Duration::from_millis(100)).await; |
| 26 | } | 35 | } |
| 27 | } | 36 | } |
