File tree Expand file tree Collapse file tree 2 files changed +40
-0
lines changed Expand file tree Collapse file tree 2 files changed +40
-0
lines changed Original file line number Diff line number Diff line change @@ -88,6 +88,10 @@ debug = true
88
88
lto = true
89
89
90
90
91
+ [[example ]]
92
+ name = " adc"
93
+ required-features = [" rt" , " stm32l4x3" ]
94
+
91
95
[[example ]]
92
96
name = " irq_button"
93
97
required-features = [" rt" ]
Original file line number Diff line number Diff line change
1
+ #![ no_main]
2
+ #![ no_std]
3
+
4
+ use panic_rtt_target as _;
5
+
6
+ use cortex_m_rt:: entry;
7
+ use rtt_target:: { rprint, rprintln} ;
8
+ use stm32l4xx_hal:: { adc:: ADC , delay:: Delay , pac, prelude:: * } ;
9
+
10
+ #[ entry]
11
+ fn main ( ) -> ! {
12
+ rtt_target:: rtt_init_print!( ) ;
13
+ rprint ! ( "Initializing..." ) ;
14
+
15
+ let cp = pac:: CorePeripherals :: take ( ) . unwrap ( ) ;
16
+ let dp = pac:: Peripherals :: take ( ) . unwrap ( ) ;
17
+
18
+ let mut rcc = dp. RCC . constrain ( ) ;
19
+ let mut flash = dp. FLASH . constrain ( ) ;
20
+ let mut pwr = dp. PWR . constrain ( & mut rcc. apb1r1 ) ;
21
+
22
+ let clocks = rcc. cfgr . freeze ( & mut flash. acr , & mut pwr) ;
23
+
24
+ let mut delay = Delay :: new ( cp. SYST , clocks) ;
25
+ let mut adc = ADC :: new ( dp. ADC , & mut rcc. ahb2 , & mut rcc. ccipr , & mut delay) ;
26
+
27
+ let mut gpioc = dp. GPIOC . split ( & mut rcc. ahb2 ) ;
28
+ let mut a1 = gpioc. pc0 . into_analog ( & mut gpioc. moder , & mut gpioc. pupdr ) ;
29
+
30
+ rprintln ! ( " done." ) ;
31
+
32
+ loop {
33
+ let value = adc. read ( & mut a1) . unwrap ( ) ;
34
+ rprintln ! ( "Value: {}" , value) ;
35
+ }
36
+ }
You can’t perform that action at this time.
0 commit comments