| | |
| | | /* USER CODE BEGIN Includes */ |
| | | |
| | | /* USER CODE END Includes */ |
| | | extern DMA_HandleTypeDef hdma_adc; |
| | | extern DMA_HandleTypeDef hdma_lpuart1_rx; |
| | | |
| | | extern DMA_HandleTypeDef hdma_lpuart1_tx; |
| | | |
| | | extern DMA_HandleTypeDef hdma_usart1_rx; |
| | | |
| | | extern DMA_HandleTypeDef hdma_usart1_tx; |
| | | |
| | | extern DMA_HandleTypeDef hdma_usart5_rx; |
| | | |
| | | extern DMA_HandleTypeDef hdma_usart5_tx; |
| | | |
| | | /* Private typedef -----------------------------------------------------------*/ |
| | | /* USER CODE BEGIN TD */ |
| | |
| | | GPIO_InitStruct.Pull = GPIO_NOPULL; |
| | | HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); |
| | | |
| | | /* ADC1 DMA Init */ |
| | | /* ADC Init */ |
| | | hdma_adc.Instance = DMA1_Channel1; |
| | | hdma_adc.Init.Request = DMA_REQUEST_0; |
| | | hdma_adc.Init.Direction = DMA_PERIPH_TO_MEMORY; |
| | | hdma_adc.Init.PeriphInc = DMA_PINC_DISABLE; |
| | | hdma_adc.Init.MemInc = DMA_MINC_ENABLE; |
| | | hdma_adc.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD; |
| | | hdma_adc.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD; |
| | | hdma_adc.Init.Mode = DMA_NORMAL; |
| | | hdma_adc.Init.Priority = DMA_PRIORITY_VERY_HIGH; |
| | | if (HAL_DMA_Init(&hdma_adc) != HAL_OK) |
| | | { |
| | | Error_Handler(); |
| | | } |
| | | |
| | | __HAL_LINKDMA(hadc,DMA_Handle,hdma_adc); |
| | | |
| | | /* USER CODE BEGIN ADC1_MspInit 1 */ |
| | | |
| | | /* USER CODE END ADC1_MspInit 1 */ |
| | |
| | | */ |
| | | HAL_GPIO_DeInit(GPIOA, GPIO_PIN_1); |
| | | |
| | | /* ADC1 DMA DeInit */ |
| | | HAL_DMA_DeInit(hadc->DMA_Handle); |
| | | /* USER CODE BEGIN ADC1_MspDeInit 1 */ |
| | | |
| | | /* USER CODE END ADC1_MspDeInit 1 */ |
| | |
| | | GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; |
| | | GPIO_InitStruct.Alternate = GPIO_AF6_LPUART1; |
| | | HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); |
| | | |
| | | /* LPUART1 DMA Init */ |
| | | /* LPUART1_RX Init */ |
| | | hdma_lpuart1_rx.Instance = DMA1_Channel6; |
| | | hdma_lpuart1_rx.Init.Request = DMA_REQUEST_5; |
| | | hdma_lpuart1_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; |
| | | hdma_lpuart1_rx.Init.PeriphInc = DMA_PINC_DISABLE; |
| | | hdma_lpuart1_rx.Init.MemInc = DMA_MINC_ENABLE; |
| | | hdma_lpuart1_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; |
| | | hdma_lpuart1_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; |
| | | hdma_lpuart1_rx.Init.Mode = DMA_CIRCULAR; |
| | | hdma_lpuart1_rx.Init.Priority = DMA_PRIORITY_LOW; |
| | | if (HAL_DMA_Init(&hdma_lpuart1_rx) != HAL_OK) |
| | | { |
| | | Error_Handler(); |
| | | } |
| | | |
| | | __HAL_LINKDMA(huart,hdmarx,hdma_lpuart1_rx); |
| | | |
| | | /* LPUART1_TX Init */ |
| | | hdma_lpuart1_tx.Instance = DMA1_Channel7; |
| | | hdma_lpuart1_tx.Init.Request = DMA_REQUEST_5; |
| | | hdma_lpuart1_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; |
| | | hdma_lpuart1_tx.Init.PeriphInc = DMA_PINC_DISABLE; |
| | | hdma_lpuart1_tx.Init.MemInc = DMA_MINC_ENABLE; |
| | | hdma_lpuart1_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; |
| | | hdma_lpuart1_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; |
| | | hdma_lpuart1_tx.Init.Mode = DMA_NORMAL; |
| | | hdma_lpuart1_tx.Init.Priority = DMA_PRIORITY_LOW; |
| | | if (HAL_DMA_Init(&hdma_lpuart1_tx) != HAL_OK) |
| | | { |
| | | Error_Handler(); |
| | | } |
| | | |
| | | __HAL_LINKDMA(huart,hdmatx,hdma_lpuart1_tx); |
| | | |
| | | /* LPUART1 interrupt Init */ |
| | | HAL_NVIC_SetPriority(LPUART1_IRQn, 0, 0); |
| | |
| | | GPIO_InitStruct.Alternate = GPIO_AF6_USART5; |
| | | HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); |
| | | |
| | | /* USART5 DMA Init */ |
| | | /* USART5_RX Init */ |
| | | hdma_usart5_rx.Instance = DMA1_Channel6; |
| | | hdma_usart5_rx.Init.Request = DMA_REQUEST_13; |
| | | hdma_usart5_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; |
| | | hdma_usart5_rx.Init.PeriphInc = DMA_PINC_DISABLE; |
| | | hdma_usart5_rx.Init.MemInc = DMA_MINC_ENABLE; |
| | | hdma_usart5_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; |
| | | hdma_usart5_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; |
| | | hdma_usart5_rx.Init.Mode = DMA_CIRCULAR; |
| | | hdma_usart5_rx.Init.Priority = DMA_PRIORITY_LOW; |
| | | if (HAL_DMA_Init(&hdma_usart5_rx) != HAL_OK) |
| | | { |
| | | Error_Handler(); |
| | | } |
| | | |
| | | __HAL_LINKDMA(huart,hdmarx,hdma_usart5_rx); |
| | | |
| | | /* USART5_TX Init */ |
| | | hdma_usart5_tx.Instance = DMA1_Channel7; |
| | | hdma_usart5_tx.Init.Request = DMA_REQUEST_13; |
| | | hdma_usart5_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; |
| | | hdma_usart5_tx.Init.PeriphInc = DMA_PINC_DISABLE; |
| | | hdma_usart5_tx.Init.MemInc = DMA_MINC_ENABLE; |
| | | hdma_usart5_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; |
| | | hdma_usart5_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; |
| | | hdma_usart5_tx.Init.Mode = DMA_NORMAL; |
| | | hdma_usart5_tx.Init.Priority = DMA_PRIORITY_LOW; |
| | | if (HAL_DMA_Init(&hdma_usart5_tx) != HAL_OK) |
| | | { |
| | | Error_Handler(); |
| | | } |
| | | |
| | | __HAL_LINKDMA(huart,hdmatx,hdma_usart5_tx); |
| | | |
| | | /* USART5 interrupt Init */ |
| | | HAL_NVIC_SetPriority(USART4_5_IRQn, 0, 0); |
| | | HAL_NVIC_EnableIRQ(USART4_5_IRQn); |
| | | /* USER CODE BEGIN USART5_MspInit 1 */ |
| | | |
| | | /* USER CODE END USART5_MspInit 1 */ |
| | |
| | | PA3 ------> LPUART1_RX |
| | | */ |
| | | HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3); |
| | | |
| | | /* LPUART1 DMA DeInit */ |
| | | HAL_DMA_DeInit(huart->hdmarx); |
| | | HAL_DMA_DeInit(huart->hdmatx); |
| | | |
| | | /* LPUART1 interrupt DeInit */ |
| | | HAL_NVIC_DisableIRQ(LPUART1_IRQn); |
| | |
| | | |
| | | HAL_GPIO_DeInit(GPIOD, GPIO_PIN_2); |
| | | |
| | | /* USART5 DMA DeInit */ |
| | | HAL_DMA_DeInit(huart->hdmarx); |
| | | HAL_DMA_DeInit(huart->hdmatx); |
| | | |
| | | /* USART5 interrupt DeInit */ |
| | | HAL_NVIC_DisableIRQ(USART4_5_IRQn); |
| | | /* USER CODE BEGIN USART5_MspDeInit 1 */ |
| | | |
| | | /* USER CODE END USART5_MspDeInit 1 */ |