Hola a todos, q tal? Soy nuevo aki en el foro, me acabo de registrar hoy pero llevo tiempo mirando el foro y la verdad es q se tratan temas muy interesantes. Bueno, te de enrollarme y os expongo mi problema para ver si me puedes ayudar con un programa q stoy aciendo. La cuestion es la siguiente, tengo q coger tres señales analogicas de 3 ADC, muestrearlas y sacar el resultos x un el puerto serie. El PIC q estoy utilizando es el 12F683 de MIcrochip y los ADC stan incorpados en el pic. El programa q he echo es el siguiente pero no me va, no me coge los datos y tampoco los pasa a la salida para despues enviarlos por puerto serie:
#include <12F683.h>
#device adc=8
#use delay(clock=1000000)
#fuses NOWDT,INTRC, NOCPD, NOPROTECT, MCLR, NOPUT, BROWNOUT, IESO, FCMEN
#use rs232(baud=9600,parity=N,xmit=PIN_A4,bits=8)
void main()
{
int medicion0,medicion1,medicion2;
setup_adc_ports(sAN0);
setup_adc_ports(sAN1);
setup_adc_ports(sAN2);
setup_adc(ADC_CLOCK_INTERNAL);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
do
{
set_adc_channel (0); //Elige canal a medir NA0
delay_us (20);
medicion0=read_adc (); //Hace conversión AD
putc(medicion0); //Saca valor a la pata 4
delay_ms(1000);
set_adc_channel (1); //Elige canal a medir NA1
delay_us (20);
medicion1=read_adc (); //Hace conversión AD
putc(medicion1); //Saca valor a la pata 4
delay_ms(1000);
set_adc_channel (2); //Elige canal a medir 2
delay_us (20);
medicion2=read_adc (); //Hace conversión AD
putc(medicion2); //Saca valor a la pata 4
delay_ms(1000);
}while(1);
}
A ver si me puede hechar una mano para ver lo q falla. Gracias