@@ -49,29 +49,29 @@ fn main() -> ! {
49
49
let prescaler = Pscl1 ;
50
50
51
51
let gpioa = dp. GPIOA . split ( & mut rcc) ;
52
- let pin_a = gpioa. pa8 ; // D7 On nucleo-G474 - LI Blue-White
53
- let pin_b = gpioa. pa9 ; // D8 On nucleo-G474 - HI Green
52
+ let pin_a = gpioa. pa8 ; // D7 On nucleo-G474
53
+ let pin_b = gpioa. pa9 ; // D8 On nucleo-G474
54
54
55
- // . . . .
56
- // . 30% . . .
57
- // ---- . . ---- .
58
- //out1 | | . | | .
59
- // | | . | | .
60
- // -------- ---------------------------- --------------------
61
- // . . ---- . . ----
62
- //out2 . | | . | |
63
- // . | | . | |
64
- // ------------------------ ---------------------------- ----
65
- // . . . .
66
- // . . . .
55
+ // . . .
56
+ // .duty . .
57
+ // ---- .---- .
58
+ //out1 | | | | .
59
+ // | | | | .
60
+ // -------- ------------ -----------.
61
+ // . ------ ------ .
62
+ //out2 . | | | | .
63
+ // . | | | | .
64
+ // --------------- ---------- --.
65
+ // . |<>| |<>| .
66
+ // . 33ns 33ns .
67
67
let ( hr_control, ..) = dp. HRTIM_COMMON . hr_control ( & mut rcc) . wait_for_calibration ( ) ;
68
68
let mut hr_control = hr_control. constrain ( ) ;
69
69
70
70
let deadtime = DeadtimeConfig :: default ( )
71
71
. prescaler ( stm32_hrtim:: deadtime:: DeadtimePrescaler :: ThrtimDiv8 )
72
72
. deadtime_rising_value ( 32 ) // 32 / (8 * 120MHz) = ~33.33ns
73
73
. deadtime_falling_value ( 32 ) ; // 32 / (8 * 120MHz) = ~33.33ns
74
- let period = 0xF00 ;
74
+ let period = 0xF00 ; // (120MHz * 32) / 0xF00 = 1MHz
75
75
let HrParts {
76
76
mut timer,
77
77
mut cr1,
@@ -81,7 +81,7 @@ fn main() -> ! {
81
81
. HRTIM_TIMA
82
82
. pwm_advanced ( ( pin_a, pin_b) )
83
83
. prescaler ( prescaler)
84
- . period ( period) // (120MHz * 32) / 0xF00 = 1MHz
84
+ . period ( period)
85
85
. deadtime ( deadtime)
86
86
. out1_polarity ( stm32_hrtim:: Polarity :: ActiveHigh )
87
87
. out2_polarity ( stm32_hrtim:: Polarity :: ActiveHigh )
@@ -98,7 +98,7 @@ fn main() -> ! {
98
98
timer. start ( & mut hr_control. control ) ;
99
99
100
100
loop {
101
- // Step frequency from 14.6kHz to about 146kHz(half of that when only looking at one pin)
101
+ // Step duty cycle from 10% to 90%
102
102
for i in 1 ..10 {
103
103
let p = timer. get_period ( ) ;
104
104
info ! ( "p: {}" , p) ;
0 commit comments