Autor Tema: Duda entrada Analógica 16f877  (Leído 2728 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado scooby2483

  • PIC10
  • *
  • Mensajes: 3
Duda entrada Analógica 16f877
« en: 18 de Febrero de 2009, 09:21:18 »
Hola!

Tengo un problema. LA cuestión es que intento configurar el 16f877 con entradas analógicas con las instrucciones "adc". EL problema me viene que al simular con proteus me sale el siguiente error y no me lee nada por el puerto que quiero.

ERROR PROTEUS: "ADC conversion started before 'wait' time has expired following previous conversion or channel change"

Os pongo mi programa en C a ver si estoy haciendo algo mal.
#include <16f877.h>
#include <stdio.h>
#use delay( clock = 1000000 )

main()
{
   float i=0;
   delay_ms(10);
   setup_adc_ports(AN0);
   delay_ms(10);
   SET_ADC_CHANNEL(0);

   delay_ms(10);

   i=read_adc();
   
}

He probado a ponerle más tiempo de espera con los 'delay', pero me sigue dando el mismo error, y ya no se a que puede ser. Lo mismo es que hago algo mal. Que nunca he trabajado con entradas analogicas y ando un poco perdido!

Saludos!!

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Duda entrada Analógica 16f877
« Respuesta #1 en: 18 de Febrero de 2009, 11:46:48 »
Proba con esto a ver q tal, suerte!!

main()
{
   int8 i=0; //el adc devuelve un entero de 8 bits, despues lo podes castear
   setup_adc(ADC_CLOCK_DIV_8);
   setup_adc_ports(AN0);
   SET_ADC_CHANNEL(0);
   delay_us(20);

   i=read_adc();
   
}

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado scooby2483

  • PIC10
  • *
  • Mensajes: 3
Re: Duda entrada Analógica 16f877
« Respuesta #2 en: 18 de Febrero de 2009, 13:17:49 »
Gracias gera, he probado ese codigo y lo mismo. El error no es al compilar ni nada, sino a la hora de simular en proteus...que me sale el mensaje ese maldito!!!


Pues mismo error...no se porque me da ese error...!!!!!Desespero!!!