STM32CubeF1/Projects/STM3210C_EVAL/Examples/ADC/ADC_DualModeInterleaved/Inc/main.h

159 lines
6.8 KiB
C

/**
******************************************************************************
* @file ADC/ADC_DualModeInterleaved/Inc/main.h
* @author MCD Application Team
* @brief Header for main.c module
******************************************************************************
* @attention
*
* <h2><center>&copy; Copyright (c) 2016 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
*
******************************************************************************
*/
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __MAIN_H
#define __MAIN_H
/* Includes ------------------------------------------------------------------*/
#include "stm32f1xx_hal.h"
#include "stm3210c_eval.h"
/* Exported types ------------------------------------------------------------*/
/* Exported constants --------------------------------------------------------*/
/* Trigger for ADC: */
/* - If this literal is defined: ADC is operating in not continuous mode */
/* and conversions are trigger by external trigger: timer. */
/* - If this literal is not defined: ADC is operating in continuous mode */
/* and first conversion is trigger by software trigger. */
#define ADC_TRIGGER_FROM_TIMER
/* Waveform voltage generation for test: */
/* - If this literal is defined: For this example purpose, generates a */
/* waveform voltage on a spare DAC channel, so user has just to connect */
/* a wire between DAC channel output and ADC input to run this example. */
/* (this avoid to user the need of an external signal generator). */
/* - If this literal is not defined: User has to connect an external signal */
/* generator on the selected ADC input to run this example. */
#define WAVEFORM_VOLTAGE_GENERATION_FOR_TEST
/* User can use this section to tailor ADCx instance under use and associated
resources */
/* ## Definition of ADC related resources ################################### */
/* Definition of ADCx clock resources */
#define ADCx ADC1
#define ADCx_CLK_ENABLE() __HAL_RCC_ADC1_CLK_ENABLE()
#define ADCx_FORCE_RESET() __HAL_RCC_ADC1_FORCE_RESET()
#define ADCx_RELEASE_RESET() __HAL_RCC_ADC1_RELEASE_RESET()
/* Definition of ADCx channels */
#define ADCx_CHANNELa ADC_CHANNEL_4
/* Definition of ADCx channels pins */
#define ADCx_CHANNELa_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE()
#define ADCx_CHANNELa_GPIO_PORT GPIOA
#define ADCx_CHANNELa_PIN GPIO_PIN_4
/* Definition of ADCx DMA resources */
#define ADCx_DMA_CLK_ENABLE() __HAL_RCC_DMA1_CLK_ENABLE()
#define ADCx_DMA DMA1_Channel1
#define ADCx_DMA_IRQn DMA1_Channel1_IRQn
#define ADCx_DMA_IRQHandler DMA1_Channel1_IRQHandler
/* Definition of ADCx NVIC resources */
#define ADCx_IRQn ADC1_2_IRQn
#define ADCx_IRQHandler ADC1_2_IRQHandler
/* Definition of ADCy clock resources */
#define ADCy ADC2
#define ADCy_CLK_ENABLE() __HAL_RCC_ADC2_CLK_ENABLE()
#define ADCy_FORCE_RESET() __HAL_RCC_ADC2_FORCE_RESET()
#define ADCy_RELEASE_RESET() __HAL_RCC_ADC2_RELEASE_RESET()
/* Definition of ADCy channels */
#define ADCy_CHANNELa ADC_CHANNEL_4
/* Definition of ADCy channels pins */
#define ADCy_CHANNELa_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE()
#define ADCy_CHANNELa_GPIO_PORT GPIOA
#define ADCy_CHANNELa_PIN GPIO_PIN_4
/* Definition of ADCy NVIC resources */
#define ADCy_IRQn ADC1_2_IRQn
#define ADCy_IRQHandler ADC1_2_IRQHandler
/* #if defined(ADC_TRIGGER_FROM_TIMER) */ /* Note: Line commented for compilation purpose in HAL MSP functions */
/* ## Definition of TIM related resources ################################### */
/* Definition of TIMx clock resources */
#define TIMx TIM3 /* Caution: Timer instance must be on APB1 (clocked by PCLK1) due to frequency computation in function "TIM_Config()" */
#define TIMx_CLK_ENABLE() __HAL_RCC_TIM3_CLK_ENABLE()
#define TIMx_FORCE_RESET() __HAL_RCC_TIM3_FORCE_RESET()
#define TIMx_RELEASE_RESET() __HAL_RCC_TIM3_RELEASE_RESET()
#define ADC_EXTERNALTRIGCONV_Tx_TRGO ADC_EXTERNALTRIGCONV_T3_TRGO
/* #endif */ /* ADC_TRIGGER_FROM_TIMER */
#if defined(WAVEFORM_VOLTAGE_GENERATION_FOR_TEST)
/* ## Definition of DAC related resources for waveform voltage generation test ## */
/* Definition of DACx clock resources */
#define DACx DAC
#define DACx_CLK_ENABLE() __HAL_RCC_DAC_CLK_ENABLE()
#define DACx_CHANNEL_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE()
#define DACx_FORCE_RESET() __HAL_RCC_DAC_FORCE_RESET()
#define DACx_RELEASE_RESET() __HAL_RCC_DAC_RELEASE_RESET()
/* Definition of DACx channels */
#define DACx_CHANNELa DAC_CHANNEL_1
/* Definition of DACx channels pins */
#define DACx_CHANNELa_PIN GPIO_PIN_4
#define DACx_CHANNELa_GPIO_PORT GPIOA
/* ## Definition of TIM related resources for waveform voltage generation test ## */
#define TIM_test_signal_generation TIM6 /* Caution: Timer instance must be on APB1 (clocked by PCLK1) due to frequency computation in function "WaveformVoltageGenerationForTest()" */
#define TIM_test_signal_generation_CLK_ENABLE() __HAL_RCC_TIM6_CLK_ENABLE()
#define TIM_test_signal_generation_FORCE_RESET() __HAL_RCC_TIM6_FORCE_RESET()
#define TIM_test_signal_generation_RELEASE_RESET() __HAL_RCC_TIM6_RELEASE_RESET()
#define DACx_TRIGGER_Tx_TRGO DAC_TRIGGER_T6_TRGO
/* Definition of DACx DMA resources */
#define DACx_CHANNELa_DMA_CLK_ENABLE() __HAL_RCC_DMA2_CLK_ENABLE()
#define DACx_CHANNELa_DMA DMA2_Channel3
#define DACx_CHANNELb_DMA DMA2_Channel4
#define DACx_CHANNELa_DMA_IRQn DMA2_Channel3_IRQn
#define DACx_CHANNELa_DMA_IRQHandler DMA2_Channel3_IRQHandler
#endif /* WAVEFORM_VOLTAGE_GENERATION_FOR_TEST */
/* Exported macro ------------------------------------------------------------*/
/* Exported functions ------------------------------------------------------- */
#endif /* __MAIN_H */
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/