nrf: nicer Peripherals api, add take()
This commit is contained in:
@ -6,18 +6,18 @@
|
||||
|
||||
#[path = "../example_common.rs"]
|
||||
mod example_common;
|
||||
use example_common::*;
|
||||
|
||||
use core::pin::Pin;
|
||||
use cortex_m_rt::entry;
|
||||
use defmt::panic;
|
||||
|
||||
use embassy::executor::{task, Executor};
|
||||
use embassy::traits::gpio::{WaitForHigh, WaitForLow};
|
||||
use embassy::util::Forever;
|
||||
use embassy_nrf::gpio::{AnyPin, Input, Pin as _, Pull};
|
||||
use embassy_nrf::gpiote::{self, PortInput};
|
||||
use embassy_nrf::interrupt;
|
||||
use embassy_nrf::Peripherals;
|
||||
use example_common::*;
|
||||
|
||||
async fn button(n: usize, mut pin: PortInput<AnyPin>) {
|
||||
loop {
|
||||
@ -30,7 +30,7 @@ async fn button(n: usize, mut pin: PortInput<AnyPin>) {
|
||||
|
||||
#[task]
|
||||
async fn run() {
|
||||
let p = unsafe { embassy_nrf::peripherals::Peripherals::steal() };
|
||||
let p = Peripherals::take().unwrap();
|
||||
|
||||
let g = gpiote::initialize(p.gpiote, interrupt::take!(GPIOTE));
|
||||
|
||||
|
@ -6,17 +6,16 @@
|
||||
|
||||
#[path = "../example_common.rs"]
|
||||
mod example_common;
|
||||
use embassy_nrf::peripherals::Peripherals;
|
||||
use example_common::*;
|
||||
|
||||
use cortex_m_rt::entry;
|
||||
use defmt::{assert_eq, panic};
|
||||
use futures::pin_mut;
|
||||
|
||||
use embassy::executor::{task, Executor};
|
||||
use embassy::traits::flash::Flash;
|
||||
use embassy::util::Forever;
|
||||
use embassy_nrf::Peripherals;
|
||||
use embassy_nrf::{interrupt, qspi};
|
||||
use example_common::*;
|
||||
use futures::pin_mut;
|
||||
|
||||
const PAGE_SIZE: usize = 4096;
|
||||
|
||||
@ -27,7 +26,7 @@ struct AlignedBuf([u8; 4096]);
|
||||
|
||||
#[task]
|
||||
async fn run() {
|
||||
let p = unsafe { Peripherals::steal() };
|
||||
let p = Peripherals::take().unwrap();
|
||||
|
||||
let csn = p.p0_17;
|
||||
let sck = p.p0_19;
|
||||
|
@ -6,26 +6,25 @@
|
||||
|
||||
#[path = "../example_common.rs"]
|
||||
mod example_common;
|
||||
use embassy_nrf::gpio::{Level, Output, OutputDrive};
|
||||
use embassy_nrf::peripherals::Peripherals;
|
||||
use embassy_traits::spi::FullDuplex;
|
||||
use example_common::*;
|
||||
|
||||
use cortex_m_rt::entry;
|
||||
use defmt::panic;
|
||||
use embassy::executor::{task, Executor};
|
||||
use embassy::util::Forever;
|
||||
use embassy_nrf::gpio::{Level, Output, OutputDrive};
|
||||
use embassy_nrf::Peripherals;
|
||||
use embassy_nrf::{interrupt, pac, rtc, spim};
|
||||
use embassy_traits::spi::FullDuplex;
|
||||
use embedded_hal::digital::v2::*;
|
||||
use example_common::*;
|
||||
use futures::pin_mut;
|
||||
use nrf52840_hal::clocks;
|
||||
|
||||
use embassy_nrf::{interrupt, pac, rtc, spim};
|
||||
|
||||
#[task]
|
||||
async fn run() {
|
||||
info!("running!");
|
||||
|
||||
let mut p = unsafe { Peripherals::steal() };
|
||||
let p = Peripherals::take().unwrap();
|
||||
|
||||
let config = spim::Config {
|
||||
frequency: spim::Frequency::M16,
|
||||
@ -33,7 +32,7 @@ async fn run() {
|
||||
orc: 0x00,
|
||||
};
|
||||
|
||||
let mut irq = interrupt::take!(SPIM3);
|
||||
let irq = interrupt::take!(SPIM3);
|
||||
let spim = spim::Spim::new(p.spim3, irq, p.p0_29, p.p0_28, p.p0_30, config);
|
||||
pin_mut!(spim);
|
||||
|
||||
|
Reference in New Issue
Block a user