STM8 ADC1读出了16192数值,是不是我设置错了?
刚接触学习STM8 ADC使用ADC1,AIN4通道
stm8s的VCC 为5V,ADC测量NTC电阻电压时读数15600左右,直接将AIN4接入VCC,读出来16192左右的数值。求大侠帮忙看看。。。
void ADC1_Initializes()
{
//使用通道4,PD3
GPIO_Init(GPIOD, GPIO_PIN_3, GPIO_MODE_IN_FL_NO_IT);
ADC1_Init(ADC1_CONVERSIONMODE_SINGLE, \
ADC1_CHANNEL_4, \
ADC1_PRESSEL_FCPU_D2, \
ADC1_EXTTRIG_TIM, DISABLE, \
ADC1_ALIGN_LEFT, ADC1_SCHMITTTRIG_CHANNEL0, DISABLE);
ADC1_Cmd(ENABLE);//启动ADC1
}
uint32_t ADC1_Read()
{
uint8_t i;
uint16_t adc_value=0;
uint32_t adc_voltage=0;
for(i=0;i<4;i++)
{
ADC1_StartConversion();
while(RESET==ADC1_GetFlagStatus(ADC1_FLAG_EOC));
ADC1_ClearFlag(ADC1_FLAG_EOC);//等待转换完成,并清除标志
adc_value=adc_value+ADC1_GetConversionValue();
}
adc_voltage = adc_value/4;
return adc_voltage;
}
重新设置了一遍初始化的参数。数据对齐方向改成了右对齐之后数据就正常了。 重新设置了数据对齐方向,就正常了 你选择的是左对齐换成右对齐就可以了 mylovemcu 发表于 2019-10-30 16:43
你选择的是左对齐换成右对齐就可以了
嗯嗯,解决了 哈哈,这就是STM8左对齐,右对齐的不同之处。其实左对齐也可以作为查表或判断应用,只是表和数据不同而已:)
页:
[1]