aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2021-05-15 00:47:22 +0200
committerDario Nieuwenhuis <[email protected]>2021-05-15 00:47:22 +0200
commit28533cfc77e47148122df868ac13132dbfc0740f (patch)
tree0526f5832e5383d924d79cce32364b988fb57af6
parent2569d38ab4bce2d927fbdd07129311b04718df4f (diff)
Simplify SPI example
-rw-r--r--embassy-stm32-examples/src/bin/spi.rs36
1 files changed, 7 insertions, 29 deletions
diff --git a/embassy-stm32-examples/src/bin/spi.rs b/embassy-stm32-examples/src/bin/spi.rs
index 308c1c682..59ba09583 100644
--- a/embassy-stm32-examples/src/bin/spi.rs
+++ b/embassy-stm32-examples/src/bin/spi.rs
@@ -8,14 +8,14 @@
8#[path = "../example_common.rs"] 8#[path = "../example_common.rs"]
9mod example_common; 9mod example_common;
10 10
11use embassy_stm32::gpio::{Level, Output, Input, Pull}; 11use embassy_stm32::gpio::{Input, Level, Output, Pull};
12use embedded_hal::digital::v2::{OutputPin, InputPin}; 12use embedded_hal::digital::v2::{InputPin, OutputPin};
13use example_common::*; 13use example_common::*;
14 14
15use cortex_m_rt::entry; 15use cortex_m_rt::entry;
16use stm32f4::stm32f429 as pac; 16use stm32f4::stm32f429 as pac;
17//use stm32l4::stm32l4x5 as pac; 17//use stm32l4::stm32l4x5 as pac;
18use embassy_stm32::spi::{Spi, MODE_0, ByteOrder, Config}; 18use embassy_stm32::spi::{ByteOrder, Config, Spi, MODE_0};
19use embassy_stm32::time::Hertz; 19use embassy_stm32::time::Hertz;
20use embedded_hal::blocking::spi::Transfer; 20use embedded_hal::blocking::spi::Transfer;
21 21
@@ -48,10 +48,8 @@ fn main() -> ! {
48 }); 48 });
49 49
50 let rc = pp.RCC.cfgr.read().sws().bits(); 50 let rc = pp.RCC.cfgr.read().sws().bits();
51 info!("rcc -> {}", rc);
52 let p = embassy_stm32::init(Default::default()); 51 let p = embassy_stm32::init(Default::default());
53 52
54 let mut led = Output::new(p.PA5, Level::High);
55 let mut spi = Spi::new( 53 let mut spi = Spi::new(
56 Hertz(16_000_000), 54 Hertz(16_000_000),
57 p.SPI3, 55 p.SPI3,
@@ -62,33 +60,13 @@ fn main() -> ! {
62 Config::default(), 60 Config::default(),
63 ); 61 );
64 62
65 let mut cs = Output::new( p.PE0, Level::High); 63 let mut cs = Output::new(p.PE0, Level::High);
66 cs.set_low();
67
68 let mut rdy = Input::new(p.PE1, Pull::Down);
69 let mut wake = Output::new( p.PB13, Level::Low);
70 let mut reset = Output::new( p.PE8, Level::Low);
71
72 wake.set_high().unwrap();
73 reset.set_high().unwrap();
74 64
75 loop { 65 loop {
76 info!("loop"); 66 let mut buf = [0x0A; 4];
77 while rdy.is_low().unwrap() { 67 cs.set_low();
78 info!("await ready")
79 }
80 info!("ready");
81 let mut buf = [0x0A;4];
82 spi.transfer(&mut buf); 68 spi.transfer(&mut buf);
69 cs.set_high();
83 info!("xfer {=[u8]:x}", buf); 70 info!("xfer {=[u8]:x}", buf);
84 } 71 }
85
86 loop {
87 info!("high");
88 led.set_high().unwrap();
89 cortex_m::asm::delay(10_000_000);
90 info!("low");
91 led.set_low().unwrap();
92 cortex_m::asm::delay(10_000_000);
93 }
94} 72}