İki Analog Ölçümü

Başlatan matador, 05 Temmuz 2013, 16:44:57

matador

void main()
{
     int i=0;
     char k[8];
     char d[20];
     float sck,vt,volt;
     unsigned long ham,vlt=0;
     GPIO_Digital_Output(&GPIOD_ODR, _GPIO_PINMASK_12 | _GPIO_PINMASK_13|_GPIO_PINMASK_14|_GPIO_PINMASK_15);
     GPIOA_MODER=0;
     Lcd_Init();
     Lcd_Cmd(_LCD_CLEAR);
     Lcd_Cmd(_LCD_CURSOR_OFF);
     while(1)
     {    Adc_Set_Input_Channel(_Adc_Channel_1);
          Adc1_Init();
          vlt=ADC1_Get_Sample(1);
          vt=vlt;
          FloatToStr(vt,d);
          Lcd_Out(1,8,"Volt");
          Lcd_Out(2,1,d);
          volt=0;
          GPIOD_ODR=0x00001000;
          delay_ms(50);
          for(i=0;i<3;i++)
          {
              GPIOD_ODR<<=1;
              delay_ms(50);
          }
     }
}


Adc 1'in ilk kanalından lm35 ile sıcaklık ikinci kanaldan da gerilim bölücü ile voltaj ölçmeye çalışıyorum fakat voltaj ölçeceğim kanalda değer sürekli değişiyor. Analog girişi gndye çektiğimde bile değer sürekli değişiyor nedenini de bir türlü anlayamadım.  STM32F4 discovery ile çalıışıyorum.