Files
CHJ/user/Protocol/SampProcess.h

126 lines
3.0 KiB
C
Raw Permalink Normal View History

2026-03-20 21:16:58 +08:00
#ifndef __SAMPPROCESS_H__
#define __SAMPPROCESS_H__
2026-03-20 21:19:53 +08:00
#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;
2026-03-20 21:16:58 +08:00
enum
{
2026-03-20 21:19:53 +08:00
C = 0 ,
R,
H,
A,
B,
D,
E,
F,
2026-03-20 21:16:58 +08:00
TCode_Count
};
2026-03-20 21:19:53 +08:00
2026-03-20 21:16:58 +08:00
typedef struct
2026-03-20 21:19:53 +08:00
{
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;
2026-03-20 21:16:58 +08:00
extern __Samp_Buf_TypeDef sampleData;
2026-03-20 21:19:53 +08:00
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);
2026-03-20 21:16:58 +08:00
void StartADCSyncSampingData(void);
void ReadSamplingData(void);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2026-03-20 21:19:53 +08:00
/*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) ;
2026-03-20 21:16:58 +08:00
#endif
2026-03-20 21:19:53 +08:00
#endif