Hola tengo 3 sensores conectados a 3 pines consecutivos (PIN_0 ; PIN_1; PIN_2) , el primer sensor de temperatura me funciona correctamente, pero me gustaria que despues de un Delay de 3 segundos el adc leyera el PIN_1 y mostrara esos resultados y 3 segundos despues del PIN_2 y asi sucesivamente.
El codigo es el siguiente:
// Port B[0,1,2]=floating input no interr
// Analogic inputs
GPIO_Init(GPIOB, GPIO_PIN_0, GPIO_MODE_IN_FL_NO_IT);
GPIO_Init(GPIOB, GPIO_PIN_1, GPIO_MODE_IN_FL_NO_IT);
GPIO_Init(GPIOB, GPIO_PIN_2, GPIO_MODE_IN_FL_NO_IT);
//Init ADC
ADC1_Init(ADC1_CONVERSIONMODE_CONTINUOUS ,
ADC1_CHANNEL_0 , ADC1_PRESSEL_FCPU_D2, ADC1_EXTTRIG_TIM,
DISABLE, ADC1_ALIGN_RIGHT,ADC1_SCHMITTTRIG_CHANNEL1,
DISABLE);
// Show in LCD
while(1)
{
ADC1_StartConversion();
while(!(ADC1->CSR & 0x80 ));
temper=ADC1_GetConversionValue();
tempValue=((temper*300)/614)-59.97;
tempValueF=((tempValue*1.8)+32);
GPIO_WriteHigh(GPIOA,GPIO_PIN_3); // LED ON
LCD_CLEAR_DISPLAY();
LCD_printstring("Temperature\n");
LCD_2ndROW(); // Second line of LCD
LCD_printf("%u\n",tempValue);
LCD_printchar(0xdf); // Character º
LCD_printf("C \n");
LCD_printchar(0x2F); // Character /
LCD_printchar(0x2F);
LCD_printf(" %u\n",tempValueF);
LCD_printchar(0xdf);
LCD_printf("F \n");
GPIO_WriteLow(GPIOA,GPIO_PIN_3); // LED OFF
Delay (1400);
}
Solo he inicializado el channel0 porque no se si inicializando los canales 1 y 2 al hacer el ADC1_GetConversionValue() que valor me tomara,
Alguna idea??