1 | static void MX_TIM1_Init(void)
|
2 | {
|
3 |
|
4 | /* USER CODE BEGIN TIM1_Init 0 */
|
5 |
|
6 | /* USER CODE END TIM1_Init 0 */
|
7 |
|
8 | TIM_ClockConfigTypeDef sClockSourceConfig = {0};
|
9 | TIM_MasterConfigTypeDef sMasterConfig = {0};
|
10 | TIM_OC_InitTypeDef sConfigOC = {0};
|
11 | TIM_BreakDeadTimeConfigTypeDef sBreakDeadTimeConfig = {0};
|
12 |
|
13 | /* USER CODE BEGIN TIM1_Init 1 */
|
14 |
|
15 | /* USER CODE END TIM1_Init 1 */
|
16 | htim1.Instance = TIM1;
|
17 | htim1.Init.Prescaler = 144-1;
|
18 | htim1.Init.CounterMode = TIM_COUNTERMODE_UP;
|
19 | htim1.Init.Period = 1024-1;
|
20 | htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
|
21 | htim1.Init.RepetitionCounter = 0;
|
22 | htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
|
23 | if (HAL_TIM_Base_Init(&htim1) != HAL_OK)
|
24 | {
|
25 | Error_Handler();
|
26 | }
|
27 | sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
|
28 | if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK)
|
29 | {
|
30 | Error_Handler();
|
31 | }
|
32 | if (HAL_TIM_PWM_Init(&htim1) != HAL_OK)
|
33 | {
|
34 | Error_Handler();
|
35 | }
|
36 | sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
|
37 | sMasterConfig.MasterOutputTrigger2 = TIM_TRGO2_RESET;
|
38 | sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
|
39 | if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK)
|
40 | {
|
41 | Error_Handler();
|
42 | }
|
43 | sConfigOC.OCMode = TIM_OCMODE_PWM1;
|
44 | sConfigOC.Pulse = 0;
|
45 | sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
|
46 | sConfigOC.OCNPolarity = TIM_OCNPOLARITY_HIGH;
|
47 | sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
|
48 | sConfigOC.OCIdleState = TIM_OCIDLESTATE_RESET;
|
49 | sConfigOC.OCNIdleState = TIM_OCNIDLESTATE_RESET;
|
50 | if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
|
51 | {
|
52 | Error_Handler();
|
53 | }
|
54 | if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_2) != HAL_OK)
|
55 | {
|
56 | Error_Handler();
|
57 | }
|
58 | sBreakDeadTimeConfig.OffStateRunMode = TIM_OSSR_DISABLE;
|
59 | sBreakDeadTimeConfig.OffStateIDLEMode = TIM_OSSI_DISABLE;
|
60 | sBreakDeadTimeConfig.LockLevel = TIM_LOCKLEVEL_OFF;
|
61 | sBreakDeadTimeConfig.DeadTime = 0;
|
62 | sBreakDeadTimeConfig.BreakState = TIM_BREAK_DISABLE;
|
63 | sBreakDeadTimeConfig.BreakPolarity = TIM_BREAKPOLARITY_HIGH;
|
64 | sBreakDeadTimeConfig.BreakFilter = 0;
|
65 | sBreakDeadTimeConfig.Break2State = TIM_BREAK2_DISABLE;
|
66 | sBreakDeadTimeConfig.Break2Polarity = TIM_BREAK2POLARITY_HIGH;
|
67 | sBreakDeadTimeConfig.Break2Filter = 0;
|
68 | sBreakDeadTimeConfig.AutomaticOutput = TIM_AUTOMATICOUTPUT_DISABLE;
|
69 | if (HAL_TIMEx_ConfigBreakDeadTime(&htim1, &sBreakDeadTimeConfig) != HAL_OK)
|
70 | {
|
71 | Error_Handler();
|
72 | }
|
73 | /* USER CODE BEGIN TIM1_Init 2 */
|
74 |
|
75 | /* USER CODE END TIM1_Init 2 */
|
76 | HAL_TIM_MspPostInit(&htim1);
|
77 |
|
78 | }
|
79 |
|
80 | /**
|
81 | * @brief TIM2 Initialization Function
|
82 | * @param None
|
83 | * @retval None
|
84 | */
|
85 | static void MX_TIM2_Init(void)
|
86 | {
|
87 |
|
88 | /* USER CODE BEGIN TIM2_Init 0 */
|
89 |
|
90 | /* USER CODE END TIM2_Init 0 */
|
91 |
|
92 | TIM_Encoder_InitTypeDef sConfig = {0};
|
93 | TIM_MasterConfigTypeDef sMasterConfig = {0};
|
94 |
|
95 | /* USER CODE BEGIN TIM2_Init 1 */
|
96 |
|
97 | /* USER CODE END TIM2_Init 1 */
|
98 | htim2.Instance = TIM2;
|
99 | htim2.Init.Prescaler = 0;
|
100 | htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
|
101 | htim2.Init.Period = 65535;
|
102 | htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
|
103 | htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
|
104 | sConfig.EncoderMode = TIM_ENCODERMODE_TI12;
|
105 | sConfig.IC1Polarity = TIM_ICPOLARITY_RISING;
|
106 | sConfig.IC1Selection = TIM_ICSELECTION_DIRECTTI;
|
107 | sConfig.IC1Prescaler = TIM_ICPSC_DIV1;
|
108 | sConfig.IC1Filter = 5;
|
109 | sConfig.IC2Polarity = TIM_ICPOLARITY_RISING;
|
110 | sConfig.IC2Selection = TIM_ICSELECTION_DIRECTTI;
|
111 | sConfig.IC2Prescaler = TIM_ICPSC_DIV1;
|
112 | sConfig.IC2Filter = 5;
|
113 | if (HAL_TIM_Encoder_Init(&htim2, &sConfig) != HAL_OK)
|
114 | {
|
115 | Error_Handler();
|
116 | }
|
117 | sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
|
118 | sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
|
119 | if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK)
|
120 | {
|
121 | Error_Handler();
|
122 | }
|
123 | /* USER CODE BEGIN TIM2_Init 2 */
|
124 |
|
125 | /* USER CODE END TIM2_Init 2 */
|
126 |
|
127 | }
|