STM32F4ライブラリ関数は、シリーズを初期化:PWM出力

  1  空隙 _TIM4_Configuration(ボイド  2  {
   3    / * TIM4設定------------------------------------- --------------
   4       4つの異なるデューティサイクルを有する7つのPWM信号生成:
   5       TIM4CLK = 72 MHzで、プリスケーラ= 0、TIM4カウンタクロック= 72 MHzの
   6       TIM4周波数= TIM4CLK /(TIM4_Period + 1)= 17.57キロヘルツ
   7       - TIM4チャネル1&Channel1Nデューティサイクル= TIM4-> CCR1 /(TIM4_Period + 1)= 50% 
   8       - TIM4チャンネル2&Channel2Nデューティサイクル= TIM4-> CCR2 /(TIM4_Period + 1)= 37.5% 
   9       - TIM4 Channel3&Channel3Nデューティサイクル= TIM4-> CCR3 /(TIM4_Period + 1)= 25%
10       - TIM4 Channel4デューティサイクル= TIM4-> CCR4 /(TIM4_Period + 1)= 12.5% 
 11       ----------------------------- ------------------------------------------ * / 
12    TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure。
13    TIM_OCInitTypeDef TIM_OCInitStructure。
14  
15    / * タイムベースの設定* /  
16    TIM_TimeBaseStructure.TIM_Prescaler =(SystemCoreClock / 880000 / 2) - 1// 2000000 
17    TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up。
18    TIM_TimeBaseStructure.TIM_Period =1023 ;
19    TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV4。
20    TIM_TimeBaseStructure.TIM_RepetitionCounter = 0 21  
22    TIM_TimeBaseInit(TIM4、&TIM_TimeBaseStructure)。
23  
24    TIM_ARRPreloadConfig(TIM4、ENABLE)。
25  
26    TIM_OCStructInit(&TIM_OCInitStructure)。
27  
28    / * PWMモードでチャンネル1,2,3および4の設定* / 
29    TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2。
30    TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable。
31    TIM_OCInitStructure.TIM_Pulse = 0 32    TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low。
33    TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set。
34  
35    TIM_OC1Init(TIM4、&TIM_OCInitStructure)。
36    TIM_OC1PreloadConfig(TIM4、TIM_OCPreload_Enable)。
37  
38    TIM_OCInitStructure.TIM_Pulse = 0 39    TIM_OC2Init(TIM4、&TIM_OCInitStructure)。
40    TIM_OC2PreloadConfig(TIM4、TIM_OCPreload_Enable)。
41  
42    TIM_OCInitStructure.TIM_Pulse = 0;
43    TIM_OC3Init(TIM4、&TIM_OCInitStructure)。
44    TIM_OC3PreloadConfig(TIM4、TIM_OCPreload_Enable)。
45  
46    TIM_OCInitStructure.TIM_Pulse = 0 47    TIM_OC4Init(TIM4、&TIM_OCInitStructure)。
48    TIM_OC4PreloadConfig(TIM4、TIM_OCPreload_Enable)。
49  
50    / * TIM4カウンタイネーブル* / 
51    TIM_Cmd(TIM4、イネーブル)。
52  
53    / * TIM4メイン出力イネーブル* / 
54    TIM_CtrlPWMOutputsを(TIM4は、ENABLE);  
55  }
 56  
57  空隙_TIM8_Configuration(無効58  {
 59    / * TIM8設定--------------------------------------- ------------
 60       :4つの異なるデューティサイクルを有する7つのPWM信号生成
 61       TIM8CLK = 72 MHzで、プリスケーラ= 0、TIM8カウンタクロック= 72 MHzの
 62       TIM8周波数= TIM8CLK /(TIM8_Period + 1) = 17.57キロヘルツ
 63       - TIM8チャネル1&Channel1Nデューティサイクル= TIM8-> CCR1 /(TIM8_Period + 1)= 50% 
 64       - TIM8チャンネル2&Channel2Nデューティサイクル= TIM8-> CCR2 /(TIM8_Period + 1)= 37.5% 
 65       - TIM8 Channel3&Channel3Nデューティサイクル= TIM8-> CCR3 /(TIM8_Period + 1)= 25%
 66      - TIM8 Channel4デューティサイクル= TIM8-> CCR4 /(TIM8_Period + 1)= 12.5% 
 67       ------------------------------ -------------------------------------------------- * / 
68    TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure。
69    TIM_OCInitTypeDef TIM_OCInitStructure。
70  
71    / * タイムベースの設定* /  
72    TIM_TimeBaseStructure.TIM_Prescaler =(SystemCoreClock / 88万) - 1// 2000000 
73    TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up。
74    TIM_TimeBaseStructure.TIM_Period = 1023 75    TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV4。
76    TIM_TimeBaseStructure.TIM_RepetitionCounter = 0 77  
78    TIM_TimeBaseInit(TIM8、&TIM_TimeBaseStructure)。
79  
80    TIM_ARRPreloadConfig(TIM8、ENABLE)。
81  
82    TIM_OCStructInit(&TIM_OCInitStructure)。
83  
84    / * PWMモードでチャンネル1,2,3および4の設定* / 
85    TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2。
86    TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable。
87   TIM_OCInitStructure.TIM_Pulse = 0 ;
88    TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low。
89    TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set。
90  
91    TIM_OC1Init(TIM8、&TIM_OCInitStructure)。
92    TIM_OC1PreloadConfig(TIM8、TIM_OCPreload_Enable)。
93  
94    TIM_OCInitStructure.TIM_Pulse = 0 95    TIM_OC2Init(TIM8、&TIM_OCInitStructure)。
96    TIM_OC2PreloadConfig(TIM8、TIM_OCPreload_Enable)。
97  
98    TIM_OCInitStructure.TIM_Pulse = 0 99    TIM_OC3Init(TIM8、&TIM_OCInitStructure)。
100    TIM_OC3PreloadConfig(TIM8、TIM_OCPreload_Enable)。
101  
102    TIM_OCInitStructure.TIM_Pulse = 0 103    TIM_OC4Init(TIM8、&TIM_OCInitStructure)。
104    TIM_OC4PreloadConfig(TIM8、TIM_OCPreload_Enable)。
105  
106    / * TIM8カウンタイネーブル* / 
107    TIM_Cmd(TIM8、イネーブル)。
108  
109    / * TIM8メイン出力イネーブル* / 
110    TIM_CtrlPWMOutputs(TIM8を、ENABLE);  
111  }
 112  
113 TIM_SetCompare1(TIM4、500)。

 

おすすめ

転載: www.cnblogs.com/penuel/p/11264995.html