The UARTETWISPIn naming is quite horrible. With the nRF53, Nordic realized this and renamed the interrupts to SERIALn. Let's copy that for our peripheral names, in nrf53 and nrf91.
36 lines
927 B
Rust
36 lines
927 B
Rust
#![no_std]
|
|
#![no_main]
|
|
#![feature(type_alias_impl_trait)]
|
|
|
|
use defmt::*;
|
|
use embassy_executor::Spawner;
|
|
use embassy_nrf::{interrupt, uarte};
|
|
use {defmt_rtt as _, panic_probe as _};
|
|
|
|
#[embassy_executor::main]
|
|
async fn main(_spawner: Spawner) {
|
|
let p = embassy_nrf::init(Default::default());
|
|
let mut config = uarte::Config::default();
|
|
config.parity = uarte::Parity::EXCLUDED;
|
|
config.baudrate = uarte::Baudrate::BAUD115200;
|
|
|
|
let irq = interrupt::take!(SERIAL0);
|
|
let mut uart = uarte::Uarte::new(p.SERIAL0, irq, p.P1_00, p.P1_01, config);
|
|
|
|
info!("uarte initialized!");
|
|
|
|
// Message must be in SRAM
|
|
let mut buf = [0; 8];
|
|
buf.copy_from_slice(b"Hello!\r\n");
|
|
|
|
unwrap!(uart.write(&buf).await);
|
|
info!("wrote hello in uart!");
|
|
|
|
loop {
|
|
info!("reading...");
|
|
unwrap!(uart.read(&mut buf).await);
|
|
info!("writing...");
|
|
unwrap!(uart.write(&buf).await);
|
|
}
|
|
}
|