刚接触学习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
- }
[color=rgb(51, 102, 153) !important]复制代码
- 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;
- }
[color=rgb(51, 102, 153) !important]复制代码
|