embassy/embassy-rp-examples/src/bin/button.rs

33 lines
774 B
Rust
Raw Normal View History

2021-03-29 21:33:46 +02:00
#![no_std]
#![no_main]
#![feature(asm)]
#![feature(min_type_alias_impl_trait)]
#![feature(impl_trait_in_bindings)]
#![feature(type_alias_impl_trait)]
#![allow(incomplete_features)]
#[path = "../example_common.rs"]
mod example_common;
use defmt::*;
use embassy::executor::Spawner;
2021-04-05 22:36:35 +02:00
use embassy_rp::gpio::{Input, Level, Output, Pull};
2021-03-29 21:33:46 +02:00
use embassy_rp::Peripherals;
2021-04-05 22:36:35 +02:00
use embedded_hal::digital::v2::{InputPin, OutputPin};
2021-03-29 21:33:46 +02:00
#[embassy::main]
async fn main(_spawner: Spawner) {
let p = unwrap!(Peripherals::take());
let button = Input::new(p.PIN_28, Pull::Up);
2021-04-05 22:36:35 +02:00
let mut led = Output::new(p.PIN_25, Level::Low);
2021-03-29 21:33:46 +02:00
loop {
2021-04-05 22:36:35 +02:00
if button.is_high().unwrap() {
led.set_high().unwrap();
} else {
led.set_low().unwrap();
}
2021-03-29 21:33:46 +02:00
}
}