nrf/gpiote: initialize automatically
This commit is contained in:
@ -18,30 +18,25 @@ use embassy_nrf::{interrupt, Peripherals};
|
||||
#[embassy::main]
|
||||
async fn main(spawner: Spawner) {
|
||||
let p = Peripherals::take().unwrap();
|
||||
let g = gpiote::initialize(p.GPIOTE, interrupt::take!(GPIOTE));
|
||||
|
||||
info!("Starting!");
|
||||
|
||||
let ch1 = InputChannel::new(
|
||||
g,
|
||||
p.GPIOTE_CH0,
|
||||
Input::new(p.P0_11, Pull::Up),
|
||||
InputChannelPolarity::HiToLo,
|
||||
);
|
||||
let ch2 = InputChannel::new(
|
||||
g,
|
||||
p.GPIOTE_CH1,
|
||||
Input::new(p.P0_12, Pull::Up),
|
||||
InputChannelPolarity::LoToHi,
|
||||
);
|
||||
let ch3 = InputChannel::new(
|
||||
g,
|
||||
p.GPIOTE_CH2,
|
||||
Input::new(p.P0_24, Pull::Up),
|
||||
InputChannelPolarity::Toggle,
|
||||
);
|
||||
let ch4 = InputChannel::new(
|
||||
g,
|
||||
p.GPIOTE_CH3,
|
||||
Input::new(p.P0_25, Pull::Up),
|
||||
InputChannelPolarity::Toggle,
|
||||
|
@ -8,12 +8,11 @@
|
||||
#[path = "../example_common.rs"]
|
||||
mod example_common;
|
||||
|
||||
use core::pin::Pin;
|
||||
use defmt::panic;
|
||||
use embassy::executor::Spawner;
|
||||
use embassy::traits::gpio::{WaitForHigh, WaitForLow};
|
||||
use embassy_nrf::gpio::{AnyPin, Input, Pin as _, Pull};
|
||||
use embassy_nrf::gpiote::{self, PortInput};
|
||||
use embassy_nrf::gpiote::PortInput;
|
||||
use embassy_nrf::interrupt;
|
||||
use embassy_nrf::Peripherals;
|
||||
use example_common::*;
|
||||
@ -32,12 +31,12 @@ async fn button_task(n: usize, mut pin: PortInput<'static, AnyPin>) {
|
||||
async fn main(spawner: Spawner) {
|
||||
let p = Peripherals::take().unwrap();
|
||||
|
||||
let g = gpiote::initialize(p.GPIOTE, interrupt::take!(GPIOTE));
|
||||
info!("Starting!");
|
||||
|
||||
let btn1 = PortInput::new(g, Input::new(p.P0_11.degrade(), Pull::Up));
|
||||
let btn2 = PortInput::new(g, Input::new(p.P0_12.degrade(), Pull::Up));
|
||||
let btn3 = PortInput::new(g, Input::new(p.P0_24.degrade(), Pull::Up));
|
||||
let btn4 = PortInput::new(g, Input::new(p.P0_25.degrade(), Pull::Up));
|
||||
let btn1 = PortInput::new(Input::new(p.P0_11.degrade(), Pull::Up));
|
||||
let btn2 = PortInput::new(Input::new(p.P0_12.degrade(), Pull::Up));
|
||||
let btn3 = PortInput::new(Input::new(p.P0_24.degrade(), Pull::Up));
|
||||
let btn4 = PortInput::new(Input::new(p.P0_25.degrade(), Pull::Up));
|
||||
|
||||
spawner.spawn(button_task(1, btn1)).unwrap();
|
||||
spawner.spawn(button_task(2, btn2)).unwrap();
|
||||
|
@ -21,44 +21,37 @@ use gpiote::{OutputChannel, OutputChannelPolarity};
|
||||
#[embassy::main]
|
||||
async fn main(spawner: Spawner) {
|
||||
let p = Peripherals::take().unwrap();
|
||||
let g = gpiote::initialize(p.GPIOTE, interrupt::take!(GPIOTE));
|
||||
|
||||
info!("Starting!");
|
||||
|
||||
let button1 = InputChannel::new(
|
||||
g,
|
||||
p.GPIOTE_CH0,
|
||||
Input::new(p.P0_11, Pull::Up),
|
||||
InputChannelPolarity::HiToLo,
|
||||
);
|
||||
let button2 = InputChannel::new(
|
||||
g,
|
||||
p.GPIOTE_CH1,
|
||||
Input::new(p.P0_12, Pull::Up),
|
||||
InputChannelPolarity::HiToLo,
|
||||
);
|
||||
let button3 = InputChannel::new(
|
||||
g,
|
||||
p.GPIOTE_CH2,
|
||||
Input::new(p.P0_24, Pull::Up),
|
||||
InputChannelPolarity::HiToLo,
|
||||
);
|
||||
let button4 = InputChannel::new(
|
||||
g,
|
||||
p.GPIOTE_CH3,
|
||||
Input::new(p.P0_25, Pull::Up),
|
||||
InputChannelPolarity::HiToLo,
|
||||
);
|
||||
|
||||
let led1 = OutputChannel::new(
|
||||
g,
|
||||
p.GPIOTE_CH4,
|
||||
Output::new(p.P0_13, Level::Low, OutputDrive::Standard),
|
||||
OutputChannelPolarity::Toggle,
|
||||
);
|
||||
|
||||
let led2 = OutputChannel::new(
|
||||
g,
|
||||
p.GPIOTE_CH5,
|
||||
Output::new(p.P0_14, Level::Low, OutputDrive::Standard),
|
||||
OutputChannelPolarity::Toggle,
|
||||
|
Reference in New Issue
Block a user