aboutsummaryrefslogtreecommitdiff
path: root/examples/nrf5340/src/bin/buffered_uart.rs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/nrf5340/src/bin/buffered_uart.rs')
-rw-r--r--examples/nrf5340/src/bin/buffered_uart.rs57
1 files changed, 0 insertions, 57 deletions
diff --git a/examples/nrf5340/src/bin/buffered_uart.rs b/examples/nrf5340/src/bin/buffered_uart.rs
deleted file mode 100644
index 25a0ca237..000000000
--- a/examples/nrf5340/src/bin/buffered_uart.rs
+++ /dev/null
@@ -1,57 +0,0 @@
1#![no_std]
2#![no_main]
3#![feature(type_alias_impl_trait)]
4
5use defmt::*;
6use embassy_executor::Spawner;
7use embassy_nrf::buffered_uarte::{BufferedUarte, State};
8use embassy_nrf::{interrupt, uarte};
9use embedded_io::asynch::{BufRead, Write};
10use futures::pin_mut;
11use {defmt_rtt as _, panic_probe as _};
12
13#[embassy_executor::main]
14async fn main(_spawner: Spawner) {
15 let p = embassy_nrf::init(Default::default());
16 let mut config = uarte::Config::default();
17 config.parity = uarte::Parity::EXCLUDED;
18 config.baudrate = uarte::Baudrate::BAUD115200;
19
20 let mut tx_buffer = [0u8; 4096];
21 let mut rx_buffer = [0u8; 4096];
22
23 let irq = interrupt::take!(SERIAL0);
24 let mut state = State::new();
25 // Please note - important to have hardware flow control (https://github.com/embassy-rs/embassy/issues/536)
26 let u = BufferedUarte::new(
27 &mut state,
28 p.UARTETWISPI0,
29 p.TIMER0,
30 p.PPI_CH0,
31 p.PPI_CH1,
32 irq,
33 p.P0_08,
34 p.P0_06,
35 p.P0_07,
36 p.P0_05,
37 config,
38 &mut rx_buffer,
39 &mut tx_buffer,
40 );
41 pin_mut!(u);
42
43 info!("uarte initialized!");
44
45 unwrap!(u.write_all(b"Hello!\r\n").await);
46 info!("wrote hello in uart!");
47
48 loop {
49 info!("reading...");
50 let buf = unwrap!(u.fill_buf().await);
51 info!("read done, got {}", buf);
52
53 // Read bytes have to be explicitly consumed, otherwise fill_buf() will return them again
54 let n = buf.len();
55 u.consume(n);
56 }
57}