key 发表于 2015-1-30 08:24:43

stm8s103的ADC转换程序 怎么跑不起来呀

void ADC_Init(void)
{
ADC1_Init(ADC1_CONVERSIONMODE_SINGLE, ADC1_CHANNEL_0,
          ADC1_PRESSEL_FCPU_D2, ADC1_EXTTRIG_TIM, DISABLE,
          ADC1_ALIGN_RIGHT, ADC1_SCHMITTTRIG_CHANNEL0, DISABLE);


}
void ADConvert(void)
{
unsigned char count=0;
ADC1->CR1|=0x02;
ADC1_StartConversion();
while(count<10)
{
   while(ADC1_GetConversionValue()==RESET);
    ADC1_ClearFlag(ADC1_FLAG_AWS2);

   ADCValue=ADC1_GetConversionValue();
    count++;
}
ADC1->CR1&=~0x02;
}

void Digutal(void)
{
unsigned char i,j;
unsigned int temp;

for(i=10;i>=1;i--)
{
         for(j=0;j<=(i-1);j++)
         {
         if(ADCValue>ADCValue)
         {
             temp=ADCValue;
             ADCValue=ADCValue;
             ADCValue=temp;
         }
         }
}
voltageADC=0;
for(i=2;i<=7;i++)
voltageADC+=ADCValue;
voltageADC/=6;
voltage=(unsigned int)((unsigned long)voltageADC*3240UL/1023UL);
}

admin 发表于 2015-1-30 20:21:04

出现什么状态?

key 发表于 2015-1-31 09:56:48

现在能读出数来,但是比较乱是不是没有参考电压的问题,stm8s103数据手册上没有关于参考电压的解释

admin 发表于 2015-1-31 15:06:27

key 发表于 2015-1-31 09:56
现在能读出数来,但是比较乱是不是没有参考电压的问题,stm8s103数据手册上没有关于参考电压的解释

肯定需要参考电压,你看管脚的定义,是不是电源就直接给的参考电压

key 发表于 2015-1-31 16:25:15

admin 发表于 2015-1-31 15:06
肯定需要参考电压,你看管脚的定义,是不是电源就直接给的参考电压

ADC1_Init(ADC1_CONVERSIONMODE_CONTINUOUS, ADC1_CHANNEL_2, ADC1_PRESSEL_FCPU_D2, ADC1_EXTTRIG_TIM, DISABLE, ADC1_ALIGN_LEFT, ADC1_SCHMITTTRIG_CHANNEL0, DISABLE);


已解决 AD部分没问题 在显示上出现问题了。
页: [1]
查看完整版本: stm8s103的ADC转换程序 怎么跑不起来呀