File tree Expand file tree Collapse file tree 4 files changed +12
-6
lines changed Expand file tree Collapse file tree 4 files changed +12
-6
lines changed Original file line number Diff line number Diff line change 8
8
//! to calculate. This operation stalls the AHB bus for that time.
9
9
10
10
use crate :: pac:: { CRC , RCC } ;
11
- use crate :: rcc:: Enable ;
11
+ use crate :: rcc:: { Enable , Reset } ;
12
12
use core:: mem:: MaybeUninit ;
13
13
use core:: ptr:: copy_nonoverlapping;
14
14
@@ -25,6 +25,7 @@ impl Crc32 {
25
25
let rcc = & ( * RCC :: ptr ( ) ) ;
26
26
// enable CRC clock.
27
27
CRC :: enable ( rcc) ;
28
+ CRC :: reset ( rcc) ;
28
29
}
29
30
30
31
let mut new = Self { periph : crc } ;
Original file line number Diff line number Diff line change @@ -667,7 +667,7 @@ macro_rules! gpio {
667
667
/// GPIO
668
668
pub mod $gpiox {
669
669
use crate :: pac:: { $GPIOX, RCC } ;
670
- use crate :: rcc:: Enable ;
670
+ use crate :: rcc:: { Enable , Reset } ;
671
671
use super :: {
672
672
Floating , Input ,
673
673
} ;
@@ -690,6 +690,7 @@ macro_rules! gpio {
690
690
691
691
// Enable clock.
692
692
$GPIOX:: enable( rcc) ;
693
+ $GPIOX:: reset( rcc) ;
693
694
}
694
695
Parts {
695
696
$(
Original file line number Diff line number Diff line change 19
19
use core:: fmt;
20
20
use core:: marker:: PhantomData ;
21
21
22
- use crate :: rcc:: Enable ;
22
+ use crate :: rcc;
23
23
use embedded_hal:: blocking;
24
24
use embedded_hal:: prelude:: * ;
25
25
use embedded_hal:: serial;
@@ -591,6 +591,7 @@ where
591
591
592
592
// Enable clock.
593
593
USART :: enable ( rcc) ;
594
+ USART :: reset ( rcc) ;
594
595
}
595
596
596
597
let pclk_freq = USART :: pclk_freq ( & clocks) ;
@@ -1183,7 +1184,7 @@ mod private {
1183
1184
}
1184
1185
1185
1186
// Implemented by all USART instances
1186
- pub trait Instance : private:: Sealed + Enable {
1187
+ pub trait Instance : private:: Sealed + rcc :: Enable + rcc :: Reset {
1187
1188
#[ doc( hidden) ]
1188
1189
fn ptr ( ) -> * const uart_base:: RegisterBlock ;
1189
1190
#[ doc( hidden) ]
Original file line number Diff line number Diff line change @@ -24,7 +24,7 @@ use crate::gpio::gpioi;
24
24
use crate :: gpio:: { gpioa, gpiob, gpioc} ;
25
25
26
26
use crate :: pac:: { spi1, RCC , SPI1 , SPI2 } ;
27
- use crate :: rcc:: Enable ;
27
+ use crate :: rcc;
28
28
29
29
#[ cfg( feature = "spi3" ) ]
30
30
use crate :: pac:: SPI3 ;
@@ -379,7 +379,9 @@ mod private {
379
379
}
380
380
381
381
// Implemented by all SPI instances
382
- pub trait Instance : private:: Sealed + Deref < Target = spi1:: RegisterBlock > + Enable {
382
+ pub trait Instance :
383
+ private:: Sealed + Deref < Target = spi1:: RegisterBlock > + rcc:: Enable + rcc:: Reset
384
+ {
383
385
#[ doc( hidden) ]
384
386
fn pclk_freq ( clocks : & Clocks ) -> Hertz ;
385
387
}
@@ -431,6 +433,7 @@ where
431
433
// NOTE(unsafe) this reference will only be used for atomic writes with no side effects.
432
434
let rcc = & ( * RCC :: ptr ( ) ) ;
433
435
SPI :: enable ( rcc) ;
436
+ SPI :: reset ( rcc) ;
434
437
}
435
438
436
439
Spi { spi, pins } . init ( mode, freq, SPI :: pclk_freq ( & clocks) )
You can’t perform that action at this time.
0 commit comments