1 | void TIM4_Configuration(void)
|
2 | {
|
3 | TIM_OCInitTypeDef TIM_OCInitStructure;
|
4 | TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
|
5 | /* TIM1 Peripheral Configuration --------------------------------------------*/
|
6 | /* Time Base configuration */
|
7 | TIM_TimeBaseStructure.TIM_Prescaler = 0;
|
8 | TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
|
9 | TIM_TimeBaseStructure.TIM_Period = MAX_PWM;
|
10 | TIM_TimeBaseStructure.TIM_ClockDivision = 0;
|
11 |
|
12 | TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure);
|
13 |
|
14 | /* Channel 3 Configuration in PWM mode */
|
15 | TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
|
16 | TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
|
17 | TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;
|
18 | TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set;
|
19 | TIM_OC3Init(TIM4, &TIM_OCInitStructure);
|
20 |
|
21 | /* Channel 1 Configuration in PWM mode */
|
22 | TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
|
23 | TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
|
24 | TIM_OCInitStructure.TIM_Pulse = 10;
|
25 | TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
|
26 | TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Reset;
|
27 | TIM_OC1Init(TIM4, &TIM_OCInitStructure);
|
28 |
|
29 | TIM_OC1PreloadConfig(TIM4, TIM_OCPreload_Enable);
|
30 | TIM_ARRPreloadConfig(TIM4,ENABLE);
|
31 |
|
32 | /* TIM1 Update DMA Request enable */
|
33 | TIM_DMACmd(TIM4, TIM_DMA_Update, ENABLE);
|
34 |
|
35 | /* TIM1 counter enable */
|
36 | TIM_Cmd(TIM4, ENABLE);
|
37 | }
|