From cc8d1628597d449e3b2e2e1545af25fc47b0a8a5 Mon Sep 17 00:00:00 2001 From: xoviat Date: Thu, 31 Dec 2020 16:59:42 -0600 Subject: [PATCH] begin integrate interrupt --- embassy-stm32f4/src/serial.rs | 4 +++- examples-stm32f4/src/serial.rs | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/embassy-stm32f4/src/serial.rs b/embassy-stm32f4/src/serial.rs index bb47a930..5042566d 100644 --- a/embassy-stm32f4/src/serial.rs +++ b/embassy-stm32f4/src/serial.rs @@ -65,8 +65,10 @@ static STATE: State = State { impl Serial, Stream2> { pub fn new( - rxd: PA10>, txd: PA9>, + rxd: PA10>, + tx_int: interrupt::DMA2_STREAM2Interrupt, + rx_int: interrupt::DMA2_STREAM7Interrupt, dma: DMA2, usart: USART1, parity: Parity, diff --git a/examples-stm32f4/src/serial.rs b/examples-stm32f4/src/serial.rs index 1f5c0fb7..296da404 100644 --- a/examples-stm32f4/src/serial.rs +++ b/examples-stm32f4/src/serial.rs @@ -9,6 +9,7 @@ use cortex_m::singleton; use cortex_m_rt::entry; use embassy::executor::{task, Executor}; use embassy::util::Forever; +use embassy_stm32f4::interrupt; use embassy_stm32f4::serial; use stm32f4xx_hal::stm32; use stm32f4xx_hal::{prelude::*, serial::config}; @@ -27,8 +28,10 @@ async fn run(dp: stm32::Peripherals, cp: cortex_m::Peripherals) { .freeze(); let mut serial = serial::Serial::new( - gpioa.pa10.into_alternate_af7(), gpioa.pa9.into_alternate_af7(), + gpioa.pa10.into_alternate_af7(), + interrupt::take!(DMA2_STREAM2), + interrupt::take!(DMA2_STREAM7), dp.DMA2, dp.USART1, config::Parity::ParityNone,