aboutsummaryrefslogtreecommitdiff
path: root/embassy-stm32f4-examples/src/bin
diff options
context:
space:
mode:
authorxoviat <[email protected]>2021-03-15 18:19:28 -0500
committerxoviat <[email protected]>2021-03-15 18:19:28 -0500
commitcb8d53e498aa060f2ec37afb2ca88d1409e8cefd (patch)
tree91a4d6cea93dcef652d6e7a62d57e1eb4e9aeec4 /embassy-stm32f4-examples/src/bin
parent0fbb3174d212a3a5a59effb5984fdccbd36de93a (diff)
fixup
Diffstat (limited to 'embassy-stm32f4-examples/src/bin')
-rw-r--r--embassy-stm32f4-examples/src/bin/can.rs17
1 files changed, 6 insertions, 11 deletions
diff --git a/embassy-stm32f4-examples/src/bin/can.rs b/embassy-stm32f4-examples/src/bin/can.rs
index c91447623..34ad12b59 100644
--- a/embassy-stm32f4-examples/src/bin/can.rs
+++ b/embassy-stm32f4-examples/src/bin/can.rs
@@ -7,21 +7,22 @@
7mod example_common; 7mod example_common;
8use example_common::{panic, *}; 8use example_common::{panic, *};
9 9
10use bxcan::filter::Mask32;
10use cortex_m_rt::entry; 11use cortex_m_rt::entry;
11use embassy::executor::{task, Executor}; 12use embassy::executor::{task, Executor};
12use embassy::traits::gpio::*; 13use embassy::traits::gpio::*;
13use embassy::util::Forever; 14use embassy::util::Forever;
14use embassy_stm32f4::can; 15use embassy_stm32f4::{can, exti, interrupt};
15use embassy_stm32f4::exti;
16use embassy_stm32f4::interrupt;
17use futures::pin_mut; 16use futures::pin_mut;
18use stm32f4xx_hal::prelude::*; 17use stm32f4xx_hal::prelude::*;
19use stm32f4xx_hal::stm32; 18use stm32f4xx_hal::{can::Can, stm32};
20 19
21static EXTI: Forever<exti::ExtiManager> = Forever::new(); 20static EXTI: Forever<exti::ExtiManager> = Forever::new();
22 21
23#[task] 22#[task]
24async fn run(dp: stm32::Peripherals, _cp: cortex_m::Peripherals) { 23async fn run(dp: stm32::Peripherals, _cp: cortex_m::Peripherals) {
24 let gpioa = dp.GPIOA.split();
25
25 let rx = gpioa.pa11.into_alternate_af9(); 26 let rx = gpioa.pa11.into_alternate_af9();
26 let tx = gpioa.pa12.into_alternate_af9(); 27 let tx = gpioa.pa12.into_alternate_af9();
27 let mut can = bxcan::Can::new(Can::new(dp.CAN1, (tx, rx))); 28 let mut can = bxcan::Can::new(Can::new(dp.CAN1, (tx, rx)));
@@ -32,13 +33,7 @@ async fn run(dp: stm32::Peripherals, _cp: cortex_m::Peripherals) {
32 // Configure filters so that can frames can be received. 33 // Configure filters so that can frames can be received.
33 can.modify_filters().enable_bank(0, Mask32::accept_all()); 34 can.modify_filters().enable_bank(0, Mask32::accept_all());
34 35
35 block!(can.enable()).unwrap(); 36 let mut can = can::Can::new(can, interrupt::take!(CAN1_TX), interrupt::take!(CAN1_RX0));
36
37 let can = can::Can::new(
38 can,
39 interrupt::take!(CAN1_TX),
40 interrupt::take!(CAN1_RX0),
41 ));
42 37
43 let frame = can.receive().await; 38 let frame = can.receive().await;
44} 39}