@@ -31,35 +31,37 @@ fn main() -> ! {
3131 } ;
3232
3333 if let Some ( p) = pac:: Peripherals :: take ( ) {
34- cortex_m:: interrupt:: free ( move |cs| {
35- let mut flash = p. FLASH ;
36- let mut rcc = p. RCC . configure ( ) . freeze ( & mut flash) ;
34+ let mut flash = p. FLASH ;
35+ let mut rcc = p. RCC . configure ( ) . freeze ( & mut flash) ;
3736
37+ let ( sck, miso, mosi, tx, rx) = cortex_m:: interrupt:: free ( move |cs| {
3838 let gpioa = p. GPIOA . split ( & mut rcc) ;
3939
40- // Configure pins for SPI
41- let sck = gpioa. pa5 . into_alternate_af0 ( cs) ;
42- let miso = gpioa. pa6 . into_alternate_af0 ( cs) ;
43- let mosi = gpioa. pa7 . into_alternate_af0 ( cs) ;
44-
45- // Configure SPI with 1MHz rate
46- let mut spi = Spi :: spi1 ( p. SPI1 , ( sck, miso, mosi) , MODE , 1 . mhz ( ) , & mut rcc) ;
40+ (
41+ // SPI pins
42+ gpioa. pa5 . into_alternate_af0 ( cs) ,
43+ gpioa. pa6 . into_alternate_af0 ( cs) ,
44+ gpioa. pa7 . into_alternate_af0 ( cs) ,
45+ // USART pins
46+ gpioa. pa9 . into_alternate_af1 ( cs) ,
47+ gpioa. pa10 . into_alternate_af1 ( cs) ,
48+ )
49+ } ) ;
4750
48- let tx = gpioa . pa9 . into_alternate_af1 ( cs ) ;
49- let rx = gpioa . pa10 . into_alternate_af1 ( cs ) ;
51+ // Configure SPI with 1MHz rate
52+ let mut spi = Spi :: spi1 ( p . SPI1 , ( sck , miso , mosi ) , MODE , 1 . mhz ( ) , & mut rcc ) ;
5053
51- let serial = Serial :: usart1 ( p. USART1 , ( tx, rx) , 115_200 . bps ( ) , & mut rcc) ;
54+ let serial = Serial :: usart1 ( p. USART1 , ( tx, rx) , 115_200 . bps ( ) , & mut rcc) ;
5255
53- let ( mut tx, mut rx) = serial. split ( ) ;
56+ let ( mut tx, mut rx) = serial. split ( ) ;
5457
55- let mut data = [ 0 ] ;
56- loop {
57- let serial_received = block ! ( rx. read( ) ) . unwrap ( ) ;
58- spi. write ( & [ serial_received] ) . ok ( ) ;
59- let spi_received = spi. transfer ( & mut data) . unwrap ( ) ;
60- block ! ( tx. write( spi_received[ 0 ] ) ) . ok ( ) ;
61- }
62- } ) ;
58+ let mut data = [ 0 ] ;
59+ loop {
60+ let serial_received = block ! ( rx. read( ) ) . unwrap ( ) ;
61+ spi. write ( & [ serial_received] ) . ok ( ) ;
62+ let spi_received = spi. transfer ( & mut data) . unwrap ( ) ;
63+ block ! ( tx. write( spi_received[ 0 ] ) ) . ok ( ) ;
64+ }
6365 }
6466
6567 loop {
0 commit comments