add new hardware peripheral
This commit is contained in:
@@ -6,6 +6,7 @@ publish = false
|
||||
build = "build.rs"
|
||||
|
||||
[dependencies]
|
||||
cortex-m.workspace = true
|
||||
cortex-m-rt.workspace = true
|
||||
defmt.workspace = true
|
||||
defmt-rtt.workspace = true
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
use defmt::info;
|
||||
use defmt_rtt as _;
|
||||
use cortex_m as _;
|
||||
use embassy_executor::Spawner;
|
||||
use embassy_stm32::gpio::{Input, Level, Output, Pull, Speed};
|
||||
use embassy_time::Timer;
|
||||
@@ -12,14 +13,17 @@ use panic_probe as _;
|
||||
#[embassy_executor::main]
|
||||
async fn main(_spawner: Spawner) {
|
||||
let p = embassy_stm32::init(Default::default());
|
||||
let button = Input::new(p.PA0, Pull::Down);
|
||||
// Assumes the center switch line goes high when pressed.
|
||||
let button = Input::new(p.PA8, Pull::Down);
|
||||
let _vcc = Output::new(p.PA10, Level::High, Speed::Low);
|
||||
let _gnd = Output::new(p.PB12, Level::Low, Speed::Low);
|
||||
let mut led = Output::new(p.PC13, Level::High, Speed::Low);
|
||||
let mut was_pressed = button.is_high();
|
||||
|
||||
info!("embassy-button: polling PA0 every 25 ms");
|
||||
info!("embassy-button: polling PA8 every 25 ms");
|
||||
|
||||
loop {
|
||||
let pressed = button.is_high();
|
||||
let pressed = !button.is_high();
|
||||
|
||||
if pressed != was_pressed {
|
||||
was_pressed = pressed;
|
||||
|
||||
Reference in New Issue
Block a user