STS_M2/PCR_High_Measure - judgment/Src/dma.c

76 lines
2.4 KiB
C

/**
******************************************************************************
* File Name : dma.c
* Description : This file provides code for the configuration
* of all the requested memory to memory DMA transfers.
******************************************************************************
* @attention
*
* <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
* All rights reserved.</center></h2>
*
* 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****/