146 lines
3.4 KiB
C
146 lines
3.4 KiB
C
|
////////////////////////////////////////////////////////////////////////////////
|
|||
|
/// @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.
|
|||
|
///
|
|||
|
/// <H2><CENTER>© COPYRIGHT MINDMOTION </CENTER></H2>
|
|||
|
////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|||
|
|
|||
|
// 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(); // <20><>ѹ<EFBFBD>ж<EFBFBD>
|
|||
|
|
|||
|
/// @}
|
|||
|
|
|||
|
|
|||
|
/// @}
|
|||
|
|
|||
|
/// @}
|
|||
|
|
|||
|
|
|||
|
////////////////////////////////////////////////////////////////////////////////
|
|||
|
#endif
|
|||
|
////////////////////////////////////////////////////////////////////////////////
|