106 lines
2.8 KiB
C
106 lines
2.8 KiB
C
/** ##########################################################################
|
|
** Filename :
|
|
** Project :
|
|
** Module :
|
|
** Processor :
|
|
** Version : 1.0
|
|
** Compiler :
|
|
** Date/Time :
|
|
** Abstract :
|
|
** Contents :
|
|
** Note :
|
|
**
|
|
** (c) Copyright dmdz Co.,Ltd
|
|
** --------------------------------------------------------------------------
|
|
** R E V I S I O N H I S T O R Y
|
|
** --------------------------------------------------------------------------
|
|
** Date Ver Author Description
|
|
|
|
** -20230602- --V1.0-- --mingyea--- --修改--
|
|
|
|
** #########################################################################*/
|
|
|
|
#ifndef ADC_H__
|
|
#define ADC_H__
|
|
|
|
|
|
/*---------------------------------------------------------------------------
|
|
- I N C L U D E F I L E S
|
|
----------------------------------------------------------------------------*/
|
|
#include "common_types.h"
|
|
#include "adc_cfg.h"
|
|
#include "nvic_cfg.h"
|
|
|
|
|
|
/*---------------------------------------------------------------------------
|
|
- D E F I N E S / M A C R O S
|
|
----------------------------------------------------------------------------*/
|
|
#define ADC_STATE_START_READ 0u
|
|
#define ADC_STATE_READ_SUCCESS 1u
|
|
|
|
|
|
/*---------------------------------------------------------------------------
|
|
- T Y P E D E F I N I T I O N S
|
|
----------------------------------------------------------------------------*/
|
|
typedef struct
|
|
{
|
|
//u8 int_flag_op;
|
|
adc_org_value_t init_value;
|
|
adc_org_value_t result_value;
|
|
adc_org_value_t result_filter_value;
|
|
#ifdef ADC0_CHANNEL_FILETER_EN
|
|
u8 filter_over;
|
|
u8 filter_count;
|
|
adc_org_value_t filter_buf[ADC0_CHANNEL_FILTER_TIME];
|
|
#endif
|
|
}adc_channel_s;
|
|
|
|
typedef struct
|
|
{
|
|
u8 state;
|
|
u8 channel_id;
|
|
u16 timecount;
|
|
//u8 channel_id_count;
|
|
//u16 resolution;
|
|
//adc_org_value_t vref1p2; //VREF1P2
|
|
adc_channel_s channel[ADC_LOGIC_CHANNEL_MAX];
|
|
|
|
#ifdef ADC_ENABLE_DMA_MODE
|
|
adc_org_value_t init_value[ADC_LOGIC_CHANNEL_MAX];
|
|
#endif
|
|
//u32 dma_buf[16];
|
|
|
|
#ifdef ADC_DEBUG_EN
|
|
u8 test[10];
|
|
#endif
|
|
}adc_s;
|
|
|
|
/*---------------------------------------------------------------------------
|
|
- G L O B A L V A R I A B L E S
|
|
- only configuration table allowed here,variables are not allowed!
|
|
----------------------------------------------------------------------------*/
|
|
|
|
|
|
/*---------------------------------------------------------------------------
|
|
- C O N S T A N T S
|
|
----------------------------------------------------------------------------*/
|
|
|
|
/*---------------------------------------------------------------------------
|
|
- F U N C T I O N P R O T O T Y P E
|
|
----------------------------------------------------------------------------*/
|
|
|
|
void adc_init(void);
|
|
void adc_task(void);
|
|
void adc_de_init(void);
|
|
|
|
adc_voltage_t adc_get_voltage_value(u8 channel_id);
|
|
|
|
|
|
#endif /* __ADC_APP_H__ */
|
|
|
|
|
|
|
|
|
|
|
|
|