refactor for streamlining
This commit is contained in:
33
tutorial/07-button-input/src/main.rs
Normal file
33
tutorial/07-button-input/src/main.rs
Normal file
@@ -0,0 +1,33 @@
|
||||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
use cortex_m_rt::entry;
|
||||
use defmt::info;
|
||||
use nb::block;
|
||||
use stm32f1xx_hal::{pac, prelude::*, timer::Timer};
|
||||
use {defmt_rtt as _, panic_probe as _};
|
||||
|
||||
#[entry]
|
||||
fn main() -> ! {
|
||||
let cp = cortex_m::Peripherals::take().unwrap();
|
||||
let dp = pac::Peripherals::take().unwrap();
|
||||
|
||||
let mut rcc = dp.RCC.constrain();
|
||||
let mut gpioa = dp.GPIOA.split(&mut rcc);
|
||||
|
||||
// TODO: Button wiring: PA0 -> button -> GND
|
||||
|
||||
let mut timer = Timer::syst(cp.SYST, &rcc.clocks).counter_hz();
|
||||
timer.start(40.Hz()).unwrap();
|
||||
|
||||
let mut last_pressed = false;
|
||||
|
||||
loop {
|
||||
|
||||
// TODO: get the current button status
|
||||
// TODO: print a message when the button is pressed and released
|
||||
|
||||
// Poll at 25ms to avoid too much log spam.
|
||||
block!(timer.wait()).unwrap();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user