File tree 3 files changed +8
-1
lines changed
3 files changed +8
-1
lines changed Original file line number Diff line number Diff line change @@ -647,6 +647,8 @@ fn main() {
647
647
PeripheralRccKernelClock :: Clock ( clock) => clock_gen. gen_clock ( p. name , clock) ,
648
648
} ;
649
649
650
+ let bus_clock_frequency = clock_gen. gen_clock ( p. name , & rcc. bus_clock ) ;
651
+
650
652
// A refcount leak can result if the same field is shared by peripherals with different stop modes
651
653
// This condition should be checked in stm32-data
652
654
let stop_mode = match rcc. stop_mode {
@@ -660,6 +662,9 @@ fn main() {
660
662
fn frequency( ) -> crate :: time:: Hertz {
661
663
#clock_frequency
662
664
}
665
+ fn bus_frequency( ) -> crate :: time:: Hertz {
666
+ #bus_clock_frequency
667
+ }
663
668
664
669
const RCC_INFO : crate :: rcc:: RccInfo = unsafe {
665
670
crate :: rcc:: RccInfo :: new(
Original file line number Diff line number Diff line change @@ -97,6 +97,8 @@ pub(crate) unsafe fn get_freqs() -> &'static Clocks {
97
97
98
98
pub ( crate ) trait SealedRccPeripheral {
99
99
fn frequency ( ) -> Hertz ;
100
+ #[ allow( dead_code) ]
101
+ fn bus_frequency ( ) -> Hertz ;
100
102
const RCC_INFO : RccInfo ;
101
103
}
102
104
Original file line number Diff line number Diff line change @@ -549,7 +549,7 @@ foreach_interrupt!(
549
549
) ;
550
550
551
551
fn calculate_trdt < T : Instance > ( speed : Dspd ) -> u8 {
552
- let ahb_freq = T :: frequency ( ) . 0 ;
552
+ let ahb_freq = T :: bus_frequency ( ) . 0 ;
553
553
match speed {
554
554
Dspd :: HIGH_SPEED => {
555
555
// From RM0431 (F72xx), RM0090 (F429), RM0390 (F446)
You can’t perform that action at this time.
0 commit comments