This commit is contained in:
2026-03-20 21:19:53 +08:00
parent 9d3b4b836f
commit 6a749331db
125 changed files with 29972 additions and 23051 deletions

View File

@@ -13,11 +13,6 @@
#define ResetSamplingTimerInterval(uploadCounter) ResetTimer1_CC1(uploadCounter)
#define StopSamplingTimerInterval() StopTimer1()
//ADCת<43><D7AA><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD>ʱ<EFBFBD><CAB1>
#define ConversionTimer TIM2
#define StartConversionTimerInterval(uploadCounter) StartTimer2_UIE(uploadCounter)
#define ResetConversionTimerInterval(uploadCounter) ResetTimer2_UIE(uploadCounter)
#define StopConversionTimerInterval() StopTimer2()
//for GPIO START==============================================================================
// for soft I2C
@@ -98,7 +93,7 @@
//
// ReadParameterFromEEPROM
//for GPIO END===============================================================================\
//=============================================================================================================================================================================================
@@ -131,6 +126,99 @@ void FlowProcessManagement(void);//
void StartNormolFlowMeasurement(void);//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void ComputeFlowRateIndexAndFlowRate(void);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void FlowRateDealAndOuputSub(void);
//======================================================================================================================================================================================
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
{
CTCode,
RTCode,
HTCode,
ATCode,
BTCode,
DTCode,
ETCode,
FTCode,
TCode_Count
};
typedef struct
{
ADC_BaseConfig_TypeDef adcBaseCfg;
ADC_SyncConfig_TypeDef adcSyncCfg; //ADC<44><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
u32 TCode[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][64];
u8 DMA_ADC_adcflag[2];
u8 DMA_ADC_SampLen;
u8 DMA_ADC_Exponent;
}__Samp_Buf_TypeDef;//<2F><><EFBFBD><EFBFBD>
extern __Samp_Buf_TypeDef sampleData;
/*ADC<44><43><EFBFBD>ó<EFBFBD>ʼ<EFBFBD><CABC>*/
void SetSampleSiagnlForSingleADC(const ADC_BaseConfig_TypeDef* adc_cfg);
void SetSampleSiagnlForSyncADC(const 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>
void ComputeSampleData(void);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/*DMA<4D><41>ʽ*/
void StartDMAForADC0SampingData(void);
void StartDMAForADC1SampingData(void);
void StartDMAForADCSyncSampingData(void);
u16 DMA_ComputeSampleData_ADC0(void);
u16 DMA_ComputeSampleData_ADC1(void);
void DMA_sampleMainProcess(void);
//for ADC END==============================================================================\
//======================================================================================================================================================================================
//for FLOWMETER START======================================================================/