Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void MX_DMA_Init(void)
- {
- /* DMA controller clock enable */
- __HAL_RCC_DMA1_CLK_ENABLE();
- __HAL_RCC_DMA2_CLK_ENABLE();
- /* DMA interrupt init */
- /* DMA1_Stream5_IRQn interrupt configuration */
- HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 1, 0);
- HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn);
- /* DMA2_Stream0_IRQn interrupt configuration */
- HAL_NVIC_SetPriority(DMA2_Stream0_IRQn, 1, 0);
- HAL_NVIC_EnableIRQ(DMA2_Stream0_IRQn);
- /* DMA2_Stream2_IRQn interrupt configuration */
- HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0);
- HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn);
- /* DMA2_Stream3_IRQn interrupt configuration */
- HAL_NVIC_SetPriority(DMA2_Stream3_IRQn, 0, 0);
- HAL_NVIC_EnableIRQ(DMA2_Stream3_IRQn);
- /* DMA2_Stream7_IRQn interrupt configuration */
- HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0);
- HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn);
- }
- void MX_DAC_Init(void)
- {
- DAC_ChannelConfTypeDef sConfig;
- /**DAC Initialization
- */
- hdac.Instance = DAC;
- if (HAL_DAC_Init(&hdac) != HAL_OK)
- {
- Error_Handler();
- }
- /**DAC channel OUT1 config
- */
- sConfig.DAC_Trigger = DAC_TRIGGER_T2_TRGO;
- sConfig.DAC_OutputBuffer = DAC_OUTPUTBUFFER_ENABLE;
- if (HAL_DAC_ConfigChannel(&hdac, &sConfig, DAC_CHANNEL_1) != HAL_OK)
- {
- Error_Handler();
- }
- /**DAC channel OUT2 config
- */
- sConfig.DAC_Trigger = DAC_TRIGGER_NONE;
- sConfig.DAC_OutputBuffer = DAC_OUTPUTBUFFER_DISABLE;
- if (HAL_DAC_ConfigChannel(&hdac, &sConfig, DAC_CHANNEL_2) != HAL_OK)
- {
- Error_Handler();
- }
- }
- void HAL_DAC_MspInit(DAC_HandleTypeDef* dacHandle)
- {
- GPIO_InitTypeDef GPIO_InitStruct;
- if(dacHandle->Instance==DAC)
- {
- /* USER CODE BEGIN DAC_MspInit 0 */
- /* USER CODE END DAC_MspInit 0 */
- /* Peripheral clock enable */
- __HAL_RCC_DAC_CLK_ENABLE();
- /**DAC GPIO Configuration
- PA4 ------> DAC_OUT1
- PA5 ------> DAC_OUT2
- */
- GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_5;
- GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
- /* Peripheral DMA init*/
- hdma_dac1.Instance = DMA1_Stream5;
- hdma_dac1.Init.Channel = DMA_CHANNEL_7;
- hdma_dac1.Init.Direction = DMA_MEMORY_TO_PERIPH;
- hdma_dac1.Init.PeriphInc = DMA_PINC_DISABLE;
- hdma_dac1.Init.MemInc = DMA_MINC_ENABLE;
- hdma_dac1.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD;
- hdma_dac1.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD;
- hdma_dac1.Init.Mode = DMA_CIRCULAR;
- hdma_dac1.Init.Priority = DMA_PRIORITY_VERY_HIGH;
- hdma_dac1.Init.FIFOMode = DMA_FIFOMODE_DISABLE;
- if (HAL_DMA_Init(&hdma_dac1) != HAL_OK)
- {
- Error_Handler();
- }
- __HAL_LINKDMA(dacHandle,DMA_Handle1,hdma_dac1);
- /* Peripheral interrupt init */
- HAL_NVIC_SetPriority(TIM6_DAC_IRQn, 1, 0);
- HAL_NVIC_EnableIRQ(TIM6_DAC_IRQn);
- /* USER CODE BEGIN DAC_MspInit 1 */
- /* USER CODE END DAC_MspInit 1 */
- }
- }
- void MX_ADC1_Init(void)
- {
- ADC_ChannelConfTypeDef sConfig;
- /**Configure the global features of the ADC (Clock, Resolution, Data Alignment and number of conversion)
- */
- hadc1.Instance = ADC1;
- hadc1.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4;
- hadc1.Init.Resolution = ADC_RESOLUTION_12B;
- hadc1.Init.ScanConvMode = DISABLE;
- hadc1.Init.ContinuousConvMode = DISABLE;
- hadc1.Init.DiscontinuousConvMode = DISABLE;
- hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_RISING;
- hadc1.Init.ExternalTrigConv = ADC_EXTERNALTRIGCONV_T2_TRGO;
- hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
- hadc1.Init.NbrOfConversion = 1;
- hadc1.Init.DMAContinuousRequests = ENABLE;
- hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
- if (HAL_ADC_Init(&hadc1) != HAL_OK)
- {
- Error_Handler();
- }
- /**Configure for the selected ADC regular channel its corresponding rank in the sequencer and its sample time.
- */
- sConfig.Channel = ADC_CHANNEL_10;
- sConfig.Rank = 1;
- sConfig.SamplingTime = ADC_SAMPLETIME_3CYCLES;
- if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
- {
- Error_Handler();
- }
- }
- void HAL_ADC_MspInit(ADC_HandleTypeDef* adcHandle)
- {
- GPIO_InitTypeDef GPIO_InitStruct;
- if(adcHandle->Instance==ADC1)
- {
- /* USER CODE BEGIN ADC1_MspInit 0 */
- /* USER CODE END ADC1_MspInit 0 */
- /* Peripheral clock enable */
- __HAL_RCC_ADC1_CLK_ENABLE();
- /**ADC1 GPIO Configuration
- PC0 ------> ADC1_IN10
- */
- GPIO_InitStruct.Pin = GPIO_PIN_0;
- GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
- /* Peripheral DMA init*/
- hdma_adc1.Instance = DMA2_Stream0;
- hdma_adc1.Init.Channel = DMA_CHANNEL_0;
- hdma_adc1.Init.Direction = DMA_PERIPH_TO_MEMORY;
- hdma_adc1.Init.PeriphInc = DMA_PINC_DISABLE;
- hdma_adc1.Init.MemInc = DMA_MINC_ENABLE;
- hdma_adc1.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD;
- hdma_adc1.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD;
- hdma_adc1.Init.Mode = DMA_CIRCULAR;
- hdma_adc1.Init.Priority = DMA_PRIORITY_VERY_HIGH;
- hdma_adc1.Init.FIFOMode = DMA_FIFOMODE_DISABLE;
- if (HAL_DMA_Init(&hdma_adc1) != HAL_OK)
- {
- Error_Handler();
- }
- __HAL_LINKDMA(adcHandle,DMA_Handle,hdma_adc1);
- /* Peripheral interrupt init */
- HAL_NVIC_SetPriority(ADC_IRQn, 1, 0);
- HAL_NVIC_EnableIRQ(ADC_IRQn);
- /* USER CODE BEGIN ADC1_MspInit 1 */
- /* USER CODE END ADC1_MspInit 1 */
- void MX_USART1_UART_Init(void)
- {
- huart1.Instance = USART1;
- huart1.Init.BaudRate = 115200;
- huart1.Init.WordLength = UART_WORDLENGTH_8B;
- huart1.Init.StopBits = UART_STOPBITS_1;
- huart1.Init.Parity = UART_PARITY_NONE;
- huart1.Init.Mode = UART_MODE_TX_RX;
- huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
- huart1.Init.OverSampling = UART_OVERSAMPLING_16;
- if (HAL_UART_Init(&huart1) != HAL_OK)
- {
- Error_Handler();
- }
- }
- void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
- {
- GPIO_InitTypeDef GPIO_InitStruct;
- if(uartHandle->Instance==USART1)
- {
- /* USER CODE BEGIN USART1_MspInit 0 */
- /* USER CODE END USART1_MspInit 0 */
- /* Peripheral clock enable */
- __HAL_RCC_USART1_CLK_ENABLE();
- /**USART1 GPIO Configuration
- PB6 ------> USART1_TX
- PB7 ------> USART1_RX
- */
- GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_PULLUP;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
- HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
- /* Peripheral DMA init*/
- hdma_usart1_rx.Instance = DMA2_Stream2;
- hdma_usart1_rx.Init.Channel = DMA_CHANNEL_4;
- hdma_usart1_rx.Init.Direction = DMA_PERIPH_TO_MEMORY;
- hdma_usart1_rx.Init.PeriphInc = DMA_PINC_DISABLE;
- hdma_usart1_rx.Init.MemInc = DMA_MINC_ENABLE;
- hdma_usart1_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
- hdma_usart1_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
- hdma_usart1_rx.Init.Mode = DMA_NORMAL;
- hdma_usart1_rx.Init.Priority = DMA_PRIORITY_LOW;
- hdma_usart1_rx.Init.FIFOMode = DMA_FIFOMODE_DISABLE;
- if (HAL_DMA_Init(&hdma_usart1_rx) != HAL_OK)
- {
- Error_Handler();
- }
- __HAL_LINKDMA(uartHandle,hdmarx,hdma_usart1_rx);
- hdma_usart1_tx.Instance = DMA2_Stream7;
- hdma_usart1_tx.Init.Channel = DMA_CHANNEL_4;
- hdma_usart1_tx.Init.Direction = DMA_MEMORY_TO_PERIPH;
- hdma_usart1_tx.Init.PeriphInc = DMA_PINC_DISABLE;
- hdma_usart1_tx.Init.MemInc = DMA_MINC_ENABLE;
- hdma_usart1_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
- hdma_usart1_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
- hdma_usart1_tx.Init.Mode = DMA_NORMAL;
- hdma_usart1_tx.Init.Priority = DMA_PRIORITY_LOW;
- hdma_usart1_tx.Init.FIFOMode = DMA_FIFOMODE_DISABLE;
- if (HAL_DMA_Init(&hdma_usart1_tx) != HAL_OK)
- {
- Error_Handler();
- }
- __HAL_LINKDMA(uartHandle,hdmatx,hdma_usart1_tx);
- /* Peripheral interrupt init */
- HAL_NVIC_SetPriority(USART1_IRQn, 1, 0);
- HAL_NVIC_EnableIRQ(USART1_IRQn);
- /* USER CODE BEGIN USART1_MspInit 1 */
- HAL_UART_Transmit_DMA(&huart1, tx_charbuf, strlen(tx_charbuf));
- /* USER CODE END USART1_MspInit 1 */
- }
- }
- void MX_TIM2_Init(void)
- {
- TIM_ClockConfigTypeDef sClockSourceConfig;
- TIM_MasterConfigTypeDef sMasterConfig;
- htim2.Instance = TIM2;
- htim2.Init.Prescaler = 1;
- htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
- htim2.Init.Period = 105;
- htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV2;
- if (HAL_TIM_Base_Init(&htim2) != HAL_OK)
- {
- Error_Handler();
- }
- sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
- if (HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig) != HAL_OK)
- {
- Error_Handler();
- }
- sMasterConfig.MasterOutputTrigger = TIM_TRGO_UPDATE;
- sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_ENABLE;
- if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK)
- {
- Error_Handler();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement