89 GPIO_InitTypeDef GPIO_InitStruct = {0};
90 RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
91 if(hadc->Instance==ADC1)
99 PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC;
100 PeriphClkInit.AdcClockSelection = RCC_ADCCLKSOURCE_PLLSAI1;
101 PeriphClkInit.PLLSAI1.PLLSAI1Source = RCC_PLLSOURCE_MSI;
102 PeriphClkInit.PLLSAI1.PLLSAI1M = 1;
103 PeriphClkInit.PLLSAI1.PLLSAI1N = 8;
104 PeriphClkInit.PLLSAI1.PLLSAI1P = RCC_PLLP_DIV7;
105 PeriphClkInit.PLLSAI1.PLLSAI1Q = RCC_PLLQ_DIV2;
106 PeriphClkInit.PLLSAI1.PLLSAI1R = RCC_PLLR_DIV2;
107 PeriphClkInit.PLLSAI1.PLLSAI1ClockOut = RCC_PLLSAI1_ADC1CLK;
108 if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
114 __HAL_RCC_ADC_CLK_ENABLE();
116 __HAL_RCC_GPIOC_CLK_ENABLE();
123 GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3;
124 GPIO_InitStruct.Mode = GPIO_MODE_ANALOG_ADC_CONTROL;
125 GPIO_InitStruct.Pull = GPIO_NOPULL;
126 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
130 hdma_adc1.Instance = DMA1_Channel1;
131 hdma_adc1.Init.Request = DMA_REQUEST_0;
132 hdma_adc1.Init.Direction = DMA_PERIPH_TO_MEMORY;
133 hdma_adc1.Init.PeriphInc = DMA_PINC_DISABLE;
134 hdma_adc1.Init.MemInc = DMA_MINC_ENABLE;
135 hdma_adc1.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD;
136 hdma_adc1.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
137 hdma_adc1.Init.Mode = DMA_CIRCULAR;
138 hdma_adc1.Init.Priority = DMA_PRIORITY_LOW;
139 if (HAL_DMA_Init(&hdma_adc1) != HAL_OK)
144 __HAL_LINKDMA(hadc,DMA_Handle,hdma_adc1);
195 GPIO_InitTypeDef GPIO_InitStruct = {0};
196 if(hcan->Instance==CAN1)
202 __HAL_RCC_CAN1_CLK_ENABLE();
204 __HAL_RCC_GPIOB_CLK_ENABLE();
209 GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9;
210 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
211 GPIO_InitStruct.Pull = GPIO_NOPULL;
212 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
213 GPIO_InitStruct.Alternate = GPIO_AF9_CAN1;
214 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
217 HAL_NVIC_SetPriority(CAN1_TX_IRQn, 0, 0);
218 HAL_NVIC_EnableIRQ(CAN1_TX_IRQn);
219 HAL_NVIC_SetPriority(CAN1_RX0_IRQn, 0, 0);
220 HAL_NVIC_EnableIRQ(CAN1_RX0_IRQn);
237 if(hcan->Instance==CAN1)
243 __HAL_RCC_CAN1_CLK_DISABLE();
249 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_8|GPIO_PIN_9);
252 HAL_NVIC_DisableIRQ(CAN1_TX_IRQn);
253 HAL_NVIC_DisableIRQ(CAN1_RX0_IRQn);
269 GPIO_InitTypeDef GPIO_InitStruct = {0};
270 RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
271 if(hi2c->Instance==I2C2)
279 PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_I2C2;
280 PeriphClkInit.I2c2ClockSelection = RCC_I2C2CLKSOURCE_PCLK1;
281 if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
286 __HAL_RCC_GPIOB_CLK_ENABLE();
291 GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_14;
292 GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
293 GPIO_InitStruct.Pull = GPIO_NOPULL;
294 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
295 GPIO_InitStruct.Alternate = GPIO_AF4_I2C2;
296 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
299 __HAL_RCC_I2C2_CLK_ENABLE();
301 HAL_NVIC_SetPriority(I2C2_EV_IRQn, 0, 0);
302 HAL_NVIC_EnableIRQ(I2C2_EV_IRQn);
303 HAL_NVIC_SetPriority(I2C2_ER_IRQn, 0, 0);
304 HAL_NVIC_EnableIRQ(I2C2_ER_IRQn);
321 if(hi2c->Instance==I2C2)
327 __HAL_RCC_I2C2_CLK_DISABLE();
333 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_13);
335 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_14);
338 HAL_NVIC_DisableIRQ(I2C2_EV_IRQn);
339 HAL_NVIC_DisableIRQ(I2C2_ER_IRQn);
355 if(htim_base->Instance==TIM2)
361 __HAL_RCC_TIM2_CLK_ENABLE();
363 HAL_NVIC_SetPriority(TIM2_IRQn, 0, 0);
364 HAL_NVIC_EnableIRQ(TIM2_IRQn);
: Header for main.c file. This file contains the common defines of the application.
void Error_Handler(void)
This function is executed in case of error occurrence.