PC0----ADC2CH1::确定蓝牙和ST读头组合
PC1----ADC1CH2::确定总电压的 基本放弃意义 总是TURE
现在看看PC0采集 一个脚干活!
MX比较简单 默认的
可以了
uint32_t read_choose_module_value( void )
uint32_t read_choose_module_value( void )
{
#define MAX(x,y) ((x > y)? x : y)
#define MIN(x,y) ((x < y)? x : y)
uint16_t readVdd[10] , max = 0 , min = 0xFFFF ,vddValue = 0;
uint32_t total = 0 ,returnvalue = 0;
for( uint8_t i = 0 ; i < 10 ; i++ )
{
HAL_ADC_Start(&hadc2);
HAL_ADC_PollForConversion(&hadc2, 50);
if(HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc2), HAL_ADC_STATE_REG_EOC))
{
readVdd[i] = HAL_ADC_GetValue(&hadc2);
}
HAL_ADC_Stop(&hadc2);
}
for( uint8_t i = 0 ; i < 10 ; i++ )
{
max = MAX(max , readVdd[i]);
min = MIN(min , readVdd[i]);
total += readVdd[i];
}
vddValue = (total - max - min ) / 8;
returnvalue = ((vddValue*330)/4096)+5;
printf("read value adc2 =%d :: %d \n" ,vddValue, returnvalue );
return( returnvalue );
}
read value adc2 =732 :: 63