/** ****************************************************************************** * File Name : dma.c * Description : This file provides code for the configuration * of all the requested memory to memory DMA transfers. ****************************************************************************** * @attention * *

© Copyright (c) 2020 STMicroelectronics. * All rights reserved.

* * This software component is licensed by ST under BSD 3-Clause license, * the "License"; You may not use this file except in compliance with the * License. You may obtain a copy of the License at: * opensource.org/licenses/BSD-3-Clause * ****************************************************************************** */ /* Includes ------------------------------------------------------------------*/ #include "dma.h" /* USER CODE BEGIN 0 */ /* USER CODE END 0 */ /*----------------------------------------------------------------------------*/ /* Configure DMA */ /*----------------------------------------------------------------------------*/ /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /** * Enable DMA controller clock */ void MX_DMA_Init(void) { /* Init with LL driver */ /* DMA controller clock enable */ LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_DMA1); /* DMA interrupt init */ /* DMA1_Channel5_IRQn interrupt configuration */ NVIC_SetPriority(DMA1_Channel5_IRQn, NVIC_EncodePriority(NVIC_GetPriorityGrouping(),0, 0)); NVIC_EnableIRQ(DMA1_Channel5_IRQn); /* DMA1_Channel6_IRQn interrupt configuration */ NVIC_SetPriority(DMA1_Channel6_IRQn, NVIC_EncodePriority(NVIC_GetPriorityGrouping(),0, 0)); NVIC_EnableIRQ(DMA1_Channel6_IRQn); } /* USER CODE BEGIN 2 */ void Usart_DMA_CONFIG(USART_TypeDef *USARTx,DMA_TypeDef *DMAx, uint32_t Channel,uint32_t MemoryAddress) { LL_DMA_SetPeriphAddress(DMAx,Channel,(uint32_t)(&USARTx->DR)); LL_USART_DMA_GetRegAddr(USARTx); LL_DMA_SetMemoryAddress(DMAx,Channel,(uint32_t)MemoryAddress); LL_DMA_SetDataLength(DMAx,Channel,128); LL_DMA_EnableChannel(DMAx,Channel); LL_USART_EnableDMAReq_RX(USARTx); LL_USART_EnableIT_IDLE(USARTx); } /* USER CODE END 2 */ /** * @} */ /** * @} */ /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/