aboutsummaryrefslogtreecommitdiff
path: root/examples/nrf/src/bin/uart_idle.rs
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2021-06-02 01:30:07 +0200
committerDario Nieuwenhuis <[email protected]>2021-06-02 01:32:19 +0200
commitdff03ecfc74d6af716637888338ebfa99ab7a027 (patch)
treec06bf2b0a2e6657c3427c956dbd27a4e45211aaa /examples/nrf/src/bin/uart_idle.rs
parenta0c5f7137fe0c45b8db0aad2a116aea91e6a93f7 (diff)
Move examples to a subdirectory
Diffstat (limited to 'examples/nrf/src/bin/uart_idle.rs')
-rw-r--r--examples/nrf/src/bin/uart_idle.rs46
1 files changed, 46 insertions, 0 deletions
diff --git a/examples/nrf/src/bin/uart_idle.rs b/examples/nrf/src/bin/uart_idle.rs
new file mode 100644
index 000000000..dc2c73433
--- /dev/null
+++ b/examples/nrf/src/bin/uart_idle.rs
@@ -0,0 +1,46 @@
1#![no_std]
2#![no_main]
3#![feature(min_type_alias_impl_trait)]
4#![feature(impl_trait_in_bindings)]
5#![feature(type_alias_impl_trait)]
6#![allow(incomplete_features)]
7
8#[path = "../example_common.rs"]
9mod example_common;
10use embassy_traits::uart::ReadUntilIdle;
11use example_common::*;
12
13use defmt::panic;
14use embassy::executor::Spawner;
15use embassy::traits::uart::Write;
16use embassy_nrf::gpio::NoPin;
17use embassy_nrf::{interrupt, uarte, Peripherals};
18
19#[embassy::main]
20async fn main(_spawner: Spawner, p: Peripherals) {
21 let mut config = uarte::Config::default();
22 config.parity = uarte::Parity::EXCLUDED;
23 config.baudrate = uarte::Baudrate::BAUD115200;
24
25 let irq = interrupt::take!(UARTE0_UART0);
26 let mut uart = unsafe {
27 uarte::UarteWithIdle::new(
28 p.UARTE0, p.TIMER0, p.PPI_CH0, p.PPI_CH1, irq, p.P0_08, p.P0_06, NoPin, NoPin, config,
29 )
30 };
31
32 info!("uarte initialized!");
33
34 // Message must be in SRAM
35 let mut buf = [0; 8];
36 buf.copy_from_slice(b"Hello!\r\n");
37
38 unwrap!(uart.write(&buf).await);
39 info!("wrote hello in uart!");
40
41 loop {
42 info!("reading...");
43 let n = unwrap!(uart.read_until_idle(&mut buf).await);
44 info!("got {} bytes", n);
45 }
46}