aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorBob McWhirter <[email protected]>2021-07-14 14:14:14 -0400
committerBob McWhirter <[email protected]>2021-07-14 14:14:14 -0400
commita88f0028ef2f1c57a66d7c3ed587b1ff2129bec2 (patch)
tree265be30a0beb1d902b8b38d396e4f4f0f72d17cf /examples
parent667b259d538b9c7c1f1e3ae636d8b0ca48e34234 (diff)
First shot at async dma usart for stm32.
Diffstat (limited to 'examples')
-rw-r--r--examples/stm32l4/src/bin/usart_dma.rs11
1 files changed, 6 insertions, 5 deletions
diff --git a/examples/stm32l4/src/bin/usart_dma.rs b/examples/stm32l4/src/bin/usart_dma.rs
index cc630e0df..1239bf9c2 100644
--- a/examples/stm32l4/src/bin/usart_dma.rs
+++ b/examples/stm32l4/src/bin/usart_dma.rs
@@ -17,22 +17,23 @@ use embassy_stm32::usart::{Config, Uart};
17use example_common::*; 17use example_common::*;
18use heapless::String; 18use heapless::String;
19use stm32l4::stm32l4x5 as pac; 19use stm32l4::stm32l4x5 as pac;
20use embassy_stm32::dma_traits::NoDma;
21use embassy_traits::uart::Write as AsyncWrite;
22use embassy::io::AsyncWriteExt;
20 23
21#[embassy::task] 24#[embassy::task]
22async fn main_task() { 25async fn main_task() {
23 let mut p = embassy_stm32::init(Default::default()); 26 let mut p = embassy_stm32::init(Default::default());
24 27
25 let config = Config::default(); 28 let config = Config::default();
26 let mut usart = Uart::new(p.UART4, p.PA1, p.PA0, config); 29 let mut usart = Uart::new(p.UART4, p.PA1, p.PA0, p.DMA1_3, NoDma, config);
27 30
28 for n in 0u32.. { 31 for n in 0u32.. {
29 let mut s: String<128> = String::new(); 32 let mut s: String<128> = String::new();
30 core::write!(&mut s, "Hello DMA World {}!\r\n", n).unwrap(); 33 core::write!(&mut s, "Hello DMA World {}!\r\n", n).unwrap();
31 34
32 usart 35 usart.write( s.as_bytes() ).await;
33 .write_dma(&mut p.DMA1_3, s.as_bytes()) 36
34 .await
35 .unwrap();
36 info!("wrote DMA"); 37 info!("wrote DMA");
37 } 38 }
38} 39}