////////////////////////////////////////////////////////////////////////////////
/// @file adc_dma_multichanit.h
/// @author AE TEAM
/// @brief THIS FILE PROVIDES ALL THE SYSTEM FIRMWARE FUNCTIONS.
////////////////////////////////////////////////////////////////////////////////
/// @attention
///
/// THE EXISTING FIRMWARE IS ONLY FOR REFERENCE, WHICH IS DESIGNED TO PROVIDE
/// CUSTOMERS WITH CODING INFORMATION ABOUT THEIR PRODUCTS SO THEY CAN SAVE
/// TIME. THEREFORE, MINDMOTION SHALL NOT BE LIABLE FOR ANY DIRECT, INDIRECT OR
/// CONSEQUENTIAL DAMAGES ABOUT ANY CLAIMS ARISING OUT OF THE CONTENT OF SUCH
/// HARDWARE AND/OR THE USE OF THE CODING INFORMATION CONTAINED HEREIN IN
/// CONNECTION WITH PRODUCTS MADE BY CUSTOMERS.
///
///
© COPYRIGHT MINDMOTION
////////////////////////////////////////////////////////////////////////////////
// Define to prevent recursive inclusion
#ifndef __ADC_DMA_MultiChanIT_H
#define __ADC_DMA_MultiChanIT_H
// Files includes
#include "hal_device.h"
#include "hal_conf.h"
#include "stdio.h"
#include "string.h"
//#include "drv.h"
////////////////////////////////////////////////////////////////////////////////
/// @defgroup MM32_Example_Layer
/// @brief MM32 Example Layer
/// @{
////////////////////////////////////////////////////////////////////////////////
/// @defgroup MM32_RESOURCE
/// @brief MM32 Examples resource modules
/// @{
////////////////////////////////////////////////////////////////////////////////
/// @defgroup MM32_Exported_Constants
/// @{
//Reference voltage, the unit is: V
#define REFVOLATGE 3.0
// Several sets of channel data are collected
#define ADCSCANNUM 4
/// @}
////////////////////////////////////////////////////////////////////////////////
/// @defgroup MM32_Exported_Enumeration
/// @{
////////////////////////////////////////////////////////////////////////////////
/// @brief XXXX enumerate definition.
/// @anchor XXXX
////////////////////////////////////////////////////////////////////////////////
/// @}
////////////////////////////////////////////////////////////////////////////////
/// @defgroup MM32_Exported_Variables
/// @{
#ifdef _ADC_DMA_MultiChanIT_C_
#define GLOBAL
#else
#define GLOBAL extern
#endif
GLOBAL vu32 adc_value;
GLOBAL vu8 ADCflag ;
GLOBAL __IO vu32 TimingDelay;
GLOBAL __IO vu32 CRCValue;
GLOBAL vu16 ADCVAL;
GLOBAL vu16 ADC_flag;
GLOBAL float fValue;
GLOBAL vu16 ADCValue[20];
GLOBAL float ADCVolatge[ADCSCANNUM];
GLOBAL vu16 ADCFilterValue[ADCSCANNUM];
GLOBAL vu8 ADCTrigFilterflag;
#define AVERAGELEN 20
GLOBAL vu16 varADCavarage[AVERAGELEN][ADCSCANNUM];
#undef GLOBAL
/// @}
////////////////////////////////////////////////////////////////////////////////
/// @defgroup MM32_Exported_Functions
/// @{
void ADCConfig(ADCCHANNEL_TypeDef adc_channel);
void EXTIX_Init(void);
u16 Get_Adc_Average(u8 times);
u16 ADC1_SingleChannel_Get(void);
void GPIO_PinConfigAnalog(GPIO_TypeDef* GPIOn, u16 gpio_pin);
void ADCSingleChannelInit(ADCCHANNEL_TypeDef ADC_Channel_x);
void ADCInit(void);
void DMAInit(void);
void ADCFilter(void);
void adc_get();
void Get_ADCVolatge(void);
void ADC_work();
void V_Conditon(); // µçѹÅжÏ
/// @}
/// @}
/// @}
////////////////////////////////////////////////////////////////////////////////
#endif
////////////////////////////////////////////////////////////////////////////////