1
1
//! # One-pulse Mode
2
2
use crate :: prelude:: * ;
3
- use crate :: rcc:: Rcc ;
3
+ use crate :: rcc:: * ;
4
4
use crate :: stm32:: * ;
5
5
use crate :: time:: { Hertz , MicroSecond } ;
6
6
use crate :: timer:: pins:: TimerPin ;
@@ -39,7 +39,7 @@ impl<TIM> Opm<TIM> {
39
39
}
40
40
41
41
macro_rules! opm {
42
- ( $( $TIMX: ident: ( $apbXenr : ident , $apbXrstr : ident , $ timX: ident, $timXen: ident, $timXrst: ident, $arr: ident $( , $arr_h: ident) * ) , ) +) => {
42
+ ( $( $TIMX: ident: ( $timX: ident, $timXen: ident, $timXrst: ident, $arr: ident $( , $arr_h: ident) * ) , ) +) => {
43
43
$(
44
44
impl OpmExt for $TIMX {
45
45
fn opm( self , period: MicroSecond , rcc: & mut Rcc ) -> Opm <Self > {
@@ -48,9 +48,8 @@ macro_rules! opm {
48
48
}
49
49
50
50
fn $timX( tim: $TIMX, period: MicroSecond , rcc: & mut Rcc ) -> Opm <$TIMX> {
51
- rcc. rb. $apbXenr. modify( |_, w| w. $timXen( ) . set_bit( ) ) ;
52
- rcc. rb. $apbXrstr. modify( |_, w| w. $timXrst( ) . set_bit( ) ) ;
53
- rcc. rb. $apbXrstr. modify( |_, w| w. $timXrst( ) . clear_bit( ) ) ;
51
+ $TIMX:: enable( rcc) ;
52
+ $TIMX:: reset( rcc) ;
54
53
55
54
let cycles_per_period = rcc. clocks. apb_tim_clk / period. into( ) ;
56
55
let psc = ( cycles_per_period - 1 ) / 0xffff ;
@@ -142,19 +141,19 @@ opm_hal! {
142
141
}
143
142
144
143
opm ! {
145
- TIM1 : ( apbenr2 , apbrstr2 , tim1, tim1en, tim1rst, arr) ,
146
- TIM3 : ( apbenr1 , apbrstr1 , tim3, tim3en, tim3rst, arr_l, arr_h) ,
147
- TIM14 : ( apbenr2 , apbrstr2 , tim14, tim14en, tim14rst, arr) ,
148
- TIM16 : ( apbenr2 , apbrstr2 , tim16, tim16en, tim16rst, arr) ,
149
- TIM17 : ( apbenr2 , apbrstr2 , tim17, tim17en, tim17rst, arr) ,
144
+ TIM1 : ( tim1, tim1en, tim1rst, arr) ,
145
+ TIM3 : ( tim3, tim3en, tim3rst, arr_l, arr_h) ,
146
+ TIM14 : ( tim14, tim14en, tim14rst, arr) ,
147
+ TIM16 : ( tim16, tim16en, tim16rst, arr) ,
148
+ TIM17 : ( tim17, tim17en, tim17rst, arr) ,
150
149
}
151
150
152
151
#[ cfg( feature = "stm32g0x1" ) ]
153
152
opm ! {
154
- TIM2 : ( apbenr1 , apbrstr1 , tim2, tim2en, tim2rst, arr_l, arr_h) ,
153
+ TIM2 : ( tim2, tim2en, tim2rst, arr_l, arr_h) ,
155
154
}
156
155
157
156
#[ cfg( any( feature = "stm32g070" , feature = "stm32g071" , feature = "stm32g081" ) ) ]
158
157
opm ! {
159
- TIM15 : ( apbenr2 , apbrstr2 , tim15, tim15en, tim15rst, arr) ,
158
+ TIM15 : ( tim15, tim15en, tim15rst, arr) ,
160
159
}
0 commit comments