working dac dma

This commit is contained in:
2023-12-13 21:26:21 +01:00
parent ca96771e90
commit 75d8c8560d
15 changed files with 59265 additions and 216 deletions

View File

@@ -26,7 +26,6 @@
DAC_HandleTypeDef hdac4;
DMA_HandleTypeDef hdma_dac4_ch1;
DMA_HandleTypeDef hdma_dac4_ch2;
/* DAC4 init function */
void MX_DAC4_Init(void)
@@ -52,7 +51,7 @@ void MX_DAC4_Init(void)
/** DAC channel OUT1 config
*/
sConfig.DAC_HighFrequency = DAC_HIGH_FREQUENCY_INTERFACE_MODE_ABOVE_160MHZ;
sConfig.DAC_HighFrequency = DAC_HIGH_FREQUENCY_INTERFACE_MODE_AUTOMATIC;
sConfig.DAC_DMADoubleDataMode = DISABLE;
sConfig.DAC_SignedFormat = DISABLE;
sConfig.DAC_SampleAndHold = DAC_SAMPLEANDHOLD_DISABLE;
@@ -65,13 +64,6 @@ void MX_DAC4_Init(void)
{
Error_Handler();
}
/** DAC channel OUT2 config
*/
if (HAL_DAC_ConfigChannel(&hdac4, &sConfig, DAC_CHANNEL_2) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN DAC4_Init 2 */
/* USER CODE END DAC4_Init 2 */
@@ -96,7 +88,7 @@ void HAL_DAC_MspInit(DAC_HandleTypeDef* dacHandle)
hdma_dac4_ch1.Init.Direction = DMA_MEMORY_TO_PERIPH;
hdma_dac4_ch1.Init.PeriphInc = DMA_PINC_DISABLE;
hdma_dac4_ch1.Init.MemInc = DMA_MINC_ENABLE;
hdma_dac4_ch1.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD;
hdma_dac4_ch1.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD;
hdma_dac4_ch1.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD;
hdma_dac4_ch1.Init.Mode = DMA_CIRCULAR;
hdma_dac4_ch1.Init.Priority = DMA_PRIORITY_LOW;
@@ -107,23 +99,6 @@ void HAL_DAC_MspInit(DAC_HandleTypeDef* dacHandle)
__HAL_LINKDMA(dacHandle,DMA_Handle1,hdma_dac4_ch1);
/* DAC4_CH2 Init */
hdma_dac4_ch2.Instance = DMA1_Channel2;
hdma_dac4_ch2.Init.Request = DMA_REQUEST_DAC4_CHANNEL2;
hdma_dac4_ch2.Init.Direction = DMA_MEMORY_TO_PERIPH;
hdma_dac4_ch2.Init.PeriphInc = DMA_PINC_DISABLE;
hdma_dac4_ch2.Init.MemInc = DMA_MINC_ENABLE;
hdma_dac4_ch2.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD;
hdma_dac4_ch2.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD;
hdma_dac4_ch2.Init.Mode = DMA_CIRCULAR;
hdma_dac4_ch2.Init.Priority = DMA_PRIORITY_LOW;
if (HAL_DMA_Init(&hdma_dac4_ch2) != HAL_OK)
{
Error_Handler();
}
__HAL_LINKDMA(dacHandle,DMA_Handle2,hdma_dac4_ch2);
/* USER CODE BEGIN DAC4_MspInit 1 */
/* USER CODE END DAC4_MspInit 1 */
@@ -143,7 +118,16 @@ void HAL_DAC_MspDeInit(DAC_HandleTypeDef* dacHandle)
/* DAC4 DMA DeInit */
HAL_DMA_DeInit(dacHandle->DMA_Handle1);
HAL_DMA_DeInit(dacHandle->DMA_Handle2);
/* DAC4 interrupt Deinit */
/* USER CODE BEGIN DAC4:TIM7_DAC_IRQn disable */
/**
* Uncomment the line below to disable the "TIM7_DAC_IRQn" interrupt
* Be aware, disabling shared interrupt may affect other IPs
*/
/* HAL_NVIC_DisableIRQ(TIM7_DAC_IRQn); */
/* USER CODE END DAC4:TIM7_DAC_IRQn disable */
/* USER CODE BEGIN DAC4_MspDeInit 1 */
/* USER CODE END DAC4_MspDeInit 1 */