相差150的原始数据

This commit is contained in:
wantong
2024-03-08 18:05:16 +08:00
parent e7c94808b5
commit 7bd04711fe
6 changed files with 141 additions and 259 deletions

View File

@ -52,7 +52,7 @@ void MX_ADC1_Init(void);
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */ /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
void adc_init(void); /* <20><>ʼ<EFBFBD><CABC>ADC */ void adc_init(void); /* <20><>ʼ<EFBFBD><CABC>ADC */
uint32_t adc_get_result(uint32_t ch); /* <20><>ȡADCת<43><D7AA><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD> */ uint32_t adc_get_result(uint32_t ch); /* <20><>ȡADCת<43><D7AA><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD> */
uint32_t adc_get_result_average(uint32_t ch, uint8_t times); /* <20><>ȡADCת<43><D7AA><EFBFBD>ҽ<EFBFBD><D2BD>о<EFBFBD>ֵ<EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD> */ //uint32_t adc_get_result_average(uint32_t ch, uint8_t times); /* <20><>ȡADCת<43><D7AA><EFBFBD>ҽ<EFBFBD><D2BD>о<EFBFBD>ֵ<EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD> */
void adc_11_int(void); void adc_11_int(void);
/* USER CODE END Prototypes */ /* USER CODE END Prototypes */

View File

@ -60,11 +60,28 @@ void adc_11_int(void)
HAL_ADC_ConfigChannel(&g_adc_handle, &adc_ch_conf); /* ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */ HAL_ADC_ConfigChannel(&g_adc_handle, &adc_ch_conf); /* ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
HAL_ADC_Start(&g_adc_handle); /* <20><><EFBFBD><EFBFBD>ADC */ HAL_ADC_Start(&g_adc_handle); /* <20><><EFBFBD><EFBFBD>ADC */
HAL_ADC_PollForConversion(&g_adc_handle, 1); /* <20><>ѯת<D1AF><D7AA> */ HAL_ADC_PollForConversion(&g_adc_handle, 10);
}
// if (HAL_ADC_PollForConversion(&g_adc_handle, 10) == HAL_OK)
// {
//
// return HAL_ADC_GetValue(&g_adc_handle); /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ADC1<43><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
// }
// else{
// return 0xFFFF;
// }
}
uint32_t adc_get_result(uint32_t ch) uint32_t adc_get_result(uint32_t ch)
{ {
return HAL_ADC_GetValue(&g_adc_handle); /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ADC1<43><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
if (HAL_ADC_PollForConversion(&g_adc_handle, 5) == HAL_OK) {
return HAL_ADC_GetValue(&g_adc_handle); /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ADC1<43><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
}else{
return 0xffffffff;
}
} }

View File

@ -94,15 +94,16 @@ extern ADC_HandleTypeDef g_adc_handle; /* ADC
uint16_t adc_value; uint16_t adc_value;
int enc1,enc0=6000; int enc1,enc0=6000;
int enc2; int enc2;
uint8_t buf[2500]; uint8_t buf[2900];
int adc_array_size= 1520; int adc_array_size= 1520;
int average_value[100][300]; int average_value[100][400];
int enc3[100][300]; int enc3[100][400];
//uint16_t adc_array[1520]; //uint16_t adc_array[1520];
//uint16_t ev_co[1520]; //uint16_t ev_co[1520];
int measure_f=0; int measure_f=0;
int track_array[300]; //int track_array[400];
uint16_t value[400];//ջ<><D5BB><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>
/* USER CODE END 0 */ /* USER CODE END 0 */
/** /**
@ -167,15 +168,62 @@ int main(void)
/* Infinite loop */ /* Infinite loop */
/* USER CODE BEGIN WHILE */ /* USER CODE BEGIN WHILE */
long averagelast=0;
long averagenow=0;
while (1) while (1)
{ {
/* USER CODE END WHILE */ /* USER CODE END WHILE */
/* USER CODE BEGIN 3 */ /* USER CODE BEGIN 3 */
measure_f=0;
enc1 = __HAL_TIM_GET_COUNTER(&htim2);//<2F><>ȡ<EFBFBD><C8A1>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ֵ
enc2 = enc1;
while(abs(enc2-enc1)==0)
{
value[measure_f]=adc_get_result(ADC_CHANNEL_11);
enc3[0][measure_f] = __HAL_TIM_GET_COUNTER(&htim2);//<2F><>ȡ<EFBFBD><C8A1>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ֵ
enc2=enc3[0][measure_f];
measure_f++;
if(measure_f>=300)
{
measure_f=300;
}
for(int j=0;j<100;j++){
}
averagenow=calculateMean(value,measure_f);
if (abs(averagenow-averagelast)>=150)
{
averagelast = averagenow; //<2F><><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD>ֵ
int k=measure_f;
for(int i=0;i<8*measure_f;i+=8)//Ҫ*8<>ٳ<EFBFBD>8
{
int j=i;
buf[j] = (uint8_t)(value[(i+1)/8] & 0xFF);
buf[j+1] = (uint8_t)((value[(i+1)/8] >> 8) & 0xFF);
buf[j+2] = (uint8_t)(enc3[0][(i+1)/8] & 0xFF);
buf[j+3] = (uint8_t)((enc3[0][(i+1)/8] >> 8) & 0xFF);
buf[j+4] = (uint8_t)((enc3[0][(i+1)/8] >> 16) & 0xFF);
buf[j+5] = (uint8_t)((enc3[0][(i+1)/8] >> 24) & 0xFF);
buf[j+6] = 0x0D;
buf[j+7] = 0xFF;
}
CDC_Transmit_HS(buf, 8*measure_f);
//HAL_Delay(2);
}
//HAL_Delay(2);
/*
for(int j=0;j<200;j++){
measure_f=0; measure_f=0;
enc1 = __HAL_TIM_GET_COUNTER(&htim2);//<2F><>ȡ<EFBFBD><C8A1>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ֵ enc1 = __HAL_TIM_GET_COUNTER(&htim2);//<2F><>ȡ<EFBFBD><C8A1>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ֵ
@ -196,7 +244,7 @@ int main(void)
} }
track_array[j]=measure_f; track_array[j]=measure_f;
} }
for(int k=0;k<100;k++){ for(int k=0;k<200;k++){
for(int i=0;i<8*track_array[k];i+=8) for(int i=0;i<8*track_array[k];i+=8)
{ {
@ -204,10 +252,10 @@ int main(void)
} }
CDC_Transmit_HS(buf, 8*track_array[k]); CDC_Transmit_HS(buf, 8*track_array[k]);
// memset(buf,0,8*track_array[k]);
HAL_Delay(2); HAL_Delay(2);
} }
HAL_Delay(2); */
// HAL_Delay(2);
// if(enc2-enc0>1000) // if(enc2-enc0>1000)
// { // {

File diff suppressed because one or more lines are too long

View File

@ -153,136 +153,7 @@
<Name>-U3A30060EB315303030303032 -O2254 -SF10000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(6BA02477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32H7x_128k.FLM -FS08000000 -FL020000 -FP0($$Device:STM32H750VBTx$CMSIS\Flash\STM32H7x_128k.FLM) -WA0 -WE0 -WVCE4 -WS2710 -WM0 -WP2</Name> <Name>-U3A30060EB315303030303032 -O2254 -SF10000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(6BA02477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32H7x_128k.FLM -FS08000000 -FL020000 -FP0($$Device:STM32H750VBTx$CMSIS\Flash\STM32H7x_128k.FLM) -WA0 -WE0 -WVCE4 -WS2710 -WM0 -WP2</Name>
</SetRegEntry> </SetRegEntry>
</TargetDriverDllRegistry> </TargetDriverDllRegistry>
<Breakpoint> <Breakpoint/>
<Bp>
<Number>0</Number>
<Type>0</Type>
<LineNumber>189</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>../Core/Src/main.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
<Bp>
<Number>1</Number>
<Type>0</Type>
<LineNumber>190</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>../Core/Src/main.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
<Bp>
<Number>2</Number>
<Type>0</Type>
<LineNumber>195</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>../Core/Src/main.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
<Bp>
<Number>3</Number>
<Type>0</Type>
<LineNumber>193</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>../Core/Src/main.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
<Bp>
<Number>4</Number>
<Type>0</Type>
<LineNumber>188</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>../Core/Src/main.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
<Bp>
<Number>5</Number>
<Type>0</Type>
<LineNumber>191</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>../Core/Src/main.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
<Bp>
<Number>6</Number>
<Type>0</Type>
<LineNumber>192</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>../Core/Src/main.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
<Bp>
<Number>7</Number>
<Type>0</Type>
<LineNumber>194</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>../Core/Src/main.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
</Breakpoint>
<WatchWindow1> <WatchWindow1>
<Ww> <Ww>
<count>0</count> <count>0</count>

View File

@ -163,7 +163,7 @@
<AdsACrf>1</AdsACrf> <AdsACrf>1</AdsACrf>
<AdsANop>0</AdsANop> <AdsANop>0</AdsANop>
<AdsANot>0</AdsANot> <AdsANot>0</AdsANot>
<AdsLLst>1</AdsLLst> <AdsLLst>0</AdsLLst>
<AdsLmap>1</AdsLmap> <AdsLmap>1</AdsLmap>
<AdsLcgr>1</AdsLcgr> <AdsLcgr>1</AdsLcgr>
<AdsLsym>1</AdsLsym> <AdsLsym>1</AdsLsym>