diff options
| author | Mathis Deroo <[email protected]> | 2025-12-05 14:37:19 -0800 |
|---|---|---|
| committer | Mathis Deroo <[email protected]> | 2025-12-09 10:51:55 -0800 |
| commit | 1ccf45058db4e77ac2c59357cab196b659201b63 (patch) | |
| tree | bfe1fa9c96db00b8551e44a67d4ecf65139d7061 /examples/mcxa/src/bin/adc_polling.rs | |
| parent | 23623d634b88da7bc398f092ac4ab9e571c6e6e1 (diff) | |
ADC driver improvement
Signed-off-by: Mathis Deroo <[email protected]>
Diffstat (limited to 'examples/mcxa/src/bin/adc_polling.rs')
| -rw-r--r-- | examples/mcxa/src/bin/adc_polling.rs | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/examples/mcxa/src/bin/adc_polling.rs b/examples/mcxa/src/bin/adc_polling.rs index 07c50f224..65b66c8dd 100644 --- a/examples/mcxa/src/bin/adc_polling.rs +++ b/examples/mcxa/src/bin/adc_polling.rs | |||
| @@ -2,9 +2,10 @@ | |||
| 2 | #![no_main] | 2 | #![no_main] |
| 3 | 3 | ||
| 4 | use embassy_executor::Spawner; | 4 | use embassy_executor::Spawner; |
| 5 | use embassy_mcxa_examples::init_adc_pins; | 5 | use hal::adc::{Adc, ConvResult, LpadcConfig, TriggerPriorityPolicy}; |
| 6 | use hal::adc::{ConvResult, LpadcConfig, TriggerPriorityPolicy}; | ||
| 7 | use hal::clocks::PoweredClock; | 6 | use hal::clocks::PoweredClock; |
| 7 | use hal::config::Config; | ||
| 8 | use hal::clocks::config::Div8; | ||
| 8 | use hal::clocks::periph_helpers::{AdcClockSel, Div4}; | 9 | use hal::clocks::periph_helpers::{AdcClockSel, Div4}; |
| 9 | use hal::pac::adc1::cfg::{Pwrsel, Refsel}; | 10 | use hal::pac::adc1::cfg::{Pwrsel, Refsel}; |
| 10 | use hal::pac::adc1::cmdl1::{Adch, Mode}; | 11 | use hal::pac::adc1::cmdl1::{Adch, Mode}; |
| @@ -16,11 +17,10 @@ const G_LPADC_RESULT_SHIFT: u32 = 0; | |||
| 16 | 17 | ||
| 17 | #[embassy_executor::main] | 18 | #[embassy_executor::main] |
| 18 | async fn main(_spawner: Spawner) { | 19 | async fn main(_spawner: Spawner) { |
| 19 | let p = hal::init(hal::config::Config::default()); | 20 | let mut config = Config::default(); |
| 20 | 21 | config.clock_cfg.sirc.fro_lf_div = Div8::from_divisor(1); | |
| 21 | unsafe { | 22 | |
| 22 | init_adc_pins(); | 23 | let p = hal::init(config); |
| 23 | } | ||
| 24 | 24 | ||
| 25 | defmt::info!("=== ADC polling Example ==="); | 25 | defmt::info!("=== ADC polling Example ==="); |
| 26 | 26 | ||
| @@ -39,7 +39,7 @@ async fn main(_spawner: Spawner) { | |||
| 39 | source: AdcClockSel::FroLfDiv, | 39 | source: AdcClockSel::FroLfDiv, |
| 40 | div: Div4::no_div(), | 40 | div: Div4::no_div(), |
| 41 | }; | 41 | }; |
| 42 | let adc = hal::adc::Adc::<hal::adc::Adc1>::new(p.ADC1, adc_config); | 42 | let adc = Adc::new_polling(p.ADC1, p.P1_10, adc_config); |
| 43 | 43 | ||
| 44 | adc.do_offset_calibration(); | 44 | adc.do_offset_calibration(); |
| 45 | adc.do_auto_calibration(); | 45 | adc.do_auto_calibration(); |
| @@ -60,7 +60,7 @@ async fn main(_spawner: Spawner) { | |||
| 60 | adc.do_software_trigger(1); | 60 | adc.do_software_trigger(1); |
| 61 | let mut result: Option<ConvResult> = None; | 61 | let mut result: Option<ConvResult> = None; |
| 62 | while result.is_none() { | 62 | while result.is_none() { |
| 63 | result = hal::adc::get_conv_result(); | 63 | result = adc.get_conv_result(); |
| 64 | } | 64 | } |
| 65 | let value = result.unwrap().conv_value >> G_LPADC_RESULT_SHIFT; | 65 | let value = result.unwrap().conv_value >> G_LPADC_RESULT_SHIFT; |
| 66 | defmt::info!("value: {=u16}", value); | 66 | defmt::info!("value: {=u16}", value); |
