126 lines
3.0 KiB
C
126 lines
3.0 KiB
C
|
|
#ifndef __SAMPPROCESS_H__
|
|||
|
|
#define __SAMPPROCESS_H__
|
|||
|
|
#if 0
|
|||
|
|
typedef struct {
|
|||
|
|
u8 Gain; //ADC<44><43><EFBFBD><EFBFBD><EFBFBD>Ŵ<EFBFBD>ϵ<EFBFBD><CFB5>
|
|||
|
|
u8 PChan; //ADC<44><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>
|
|||
|
|
u8 NChan; //ADC<44><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>
|
|||
|
|
u8 SPS; //ADC<44><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
} ADC_BaseConfig_TypeDef;
|
|||
|
|
|
|||
|
|
typedef struct {
|
|||
|
|
u8 Gain0; //ADC_0<5F><30><EFBFBD><EFBFBD><EFBFBD>Ŵ<EFBFBD>ϵ<EFBFBD><CFB5>
|
|||
|
|
u8 PChan0; //ADC_0<5F><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>
|
|||
|
|
u8 NChan0; //ADC_0<5F><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>
|
|||
|
|
u8 Gain1; //ADC_1<5F><31><EFBFBD><EFBFBD><EFBFBD>Ŵ<EFBFBD>ϵ<EFBFBD><CFB5>
|
|||
|
|
u8 PChan1; //ADC_1<5F><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>
|
|||
|
|
u8 NChan1; //ADC_1<5F><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>
|
|||
|
|
u8 SPS; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
} ADC_SyncConfig_TypeDef;
|
|||
|
|
|
|||
|
|
enum
|
|||
|
|
{
|
|||
|
|
C = 0 ,
|
|||
|
|
R,
|
|||
|
|
H,
|
|||
|
|
A,
|
|||
|
|
B,
|
|||
|
|
D,
|
|||
|
|
E,
|
|||
|
|
F,
|
|||
|
|
TCode_Count
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
ADC_BaseConfig_TypeDef adcBaseCfg;
|
|||
|
|
ADC_SyncConfig_TypeDef adcSyncCfg; //ADC<44><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
u32 TempCode[TCode_Count]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>洢<EFBFBD><E6B4A2>
|
|||
|
|
u8 SkipSampNum ; //<2F><><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
/*<2A>жϷ<D0B6>ʽ<EFBFBD><CABD><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD>*/
|
|||
|
|
u8 CounterMax; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
u8 Counter; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
u32 ADCBuffer[2]; //<2F><><EFBFBD><EFBFBD>ֵ
|
|||
|
|
|
|||
|
|
/*DMA<4D><41>ʽ<EFBFBD><CABD><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD>*/
|
|||
|
|
u32 DMA_ADC_Buffer[2][70];
|
|||
|
|
u8 DMA_ADC_adcflag[2];
|
|||
|
|
u8 DMA_ADC_SampLen;
|
|||
|
|
u8 DMA_ADC_Exponent;
|
|||
|
|
}__Samp_Buf_TypeDef;//<2F><><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
//// <20>ж<EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>
|
|||
|
|
//typedef struct {
|
|||
|
|
// ADC_BaseConfig_TypeDef adc_cfg;
|
|||
|
|
// u8 skip_num ;
|
|||
|
|
// u8 counter; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
// u32 adc_buffer; //<2F><><EFBFBD><EFBFBD>ֵ
|
|||
|
|
//}__IntSingleSampleData_t;
|
|||
|
|
|
|||
|
|
//// <20>ж<EFBFBD>ģʽ<C4A3><CABD>˫ ADC ͬ<><CDAC><EFBFBD><EFBFBD>
|
|||
|
|
//typedef struct {
|
|||
|
|
// ADC_SyncConfig_TypeDef adc_cfg;
|
|||
|
|
// u8 skip_num ;
|
|||
|
|
// u8 counter; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
// u32 adc_buffer[2]; //<2F><><EFBFBD><EFBFBD>ֵ
|
|||
|
|
//}__IntSyncSampleData_t;
|
|||
|
|
|
|||
|
|
//// <20><> ADC + DMA ģʽר<CABD><D7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
//typedef struct {
|
|||
|
|
// ADC_BaseConfig_TypeDef adc_cfg;
|
|||
|
|
// u32 dma_buffer[128];
|
|||
|
|
// u8 adcflag ;
|
|||
|
|
// u8 samp_len;
|
|||
|
|
// u8 exponent;
|
|||
|
|
// u8 skip_num;
|
|||
|
|
//}__SingleDmaSampleData_t;
|
|||
|
|
|
|||
|
|
//// ˫ ADC ͬ<><CDAC> + DMA ģʽר<CABD><D7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
//typedef struct {
|
|||
|
|
// ADC_SyncConfig_TypeDef adc_cfg;
|
|||
|
|
// u32 dma_buffer[2][128]; // [0]=ADC0, [1]=ADC1
|
|||
|
|
// u8 adcflag[2] ;
|
|||
|
|
// u8 samp_len;
|
|||
|
|
// u8 exponent;
|
|||
|
|
// u8 skip_num;
|
|||
|
|
//}__DualSyncDmaSampleData_t;
|
|||
|
|
//extern __IntSingleSampleData_t sampleData1;
|
|||
|
|
//extern __IntSyncSampleData_t sampleData2;
|
|||
|
|
//extern __SingleDmaSampleData_t sampleData3;
|
|||
|
|
//extern __DualSyncDmaSampleData_t sampleData4;
|
|||
|
|
|
|||
|
|
extern __Samp_Buf_TypeDef sampleData;
|
|||
|
|
|
|||
|
|
u16 GetAdcGain(u16 gianX);
|
|||
|
|
/*ADC<44><43><EFBFBD>ó<EFBFBD>ʼ<EFBFBD><CABC>*/
|
|||
|
|
void SetSampleSiagnlForSingleADC( ADC_BaseConfig_TypeDef* adc_cfg);
|
|||
|
|
void SetSampleSiagnlForSyncADC( ADC_SyncConfig_TypeDef* adc_cfg);
|
|||
|
|
|
|||
|
|
/*<2A>жϷ<D0B6>ʽ*/
|
|||
|
|
void StartADC0SampingData(void);
|
|||
|
|
void StartADC1SampingData(void);
|
|||
|
|
void StartADCSyncSampingData(void);
|
|||
|
|
void ReadSamplingData(void);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
/*DMA<4D><41>ʽ*/
|
|||
|
|
void StartDMAForADC0SampingData(void);
|
|||
|
|
void StartDMAForADC1SampingData(void);
|
|||
|
|
void StartDMAForADCSyncSampingData(void);
|
|||
|
|
u8 WaitADC0DMAComplete(void);
|
|||
|
|
u8 WaitADC1DMAComplete(void);
|
|||
|
|
u8 WaitSyncDMAComplete(void);
|
|||
|
|
u16 DMA_ComputeSampleData_ADC0(void);
|
|||
|
|
u16 DMA_ComputeSampleData_ADC1(void);
|
|||
|
|
|
|||
|
|
|
|||
|
|
/*DMA ADC<44><43><EFBFBD>з<EFBFBD>ʽ*/
|
|||
|
|
void StartDMA_ForADC0_SeqSample(void);
|
|||
|
|
void ADC_ReadSeqData(u16* SeqData ,u8 SeqNumCount) ;
|
|||
|
|
#endif
|
|||
|
|
#endif
|