Hola, resulta que estos días me estoy metiendo con el ADC y me está fastidiando un poco, ya que me convierte mal la señal de entrada.
Estoy realizando un proyecto con un pic en CCS y visual basic, así que de momento solo quiero que me convierta a digital la entrada que le llega al PIC por A0 mediente la orden desde visual basic y que se visualice en una textbox en el ordenador.
aquí os pongo el codigo principal que tiene que ver con el ADC:
#include <18F4550.h>
#device ADC=10
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL3,CPUDIV1,VREGEN
#use delay(clock=48000000)
void main(void) {
long leeadc;
int value;
setup_adc(ADC_CLOCK_DIV_64);
setup_adc_ports(AN0);
setup_adc(VSS_VDD);
set_adc_channel(0);
delay_us(10);
value=read_adc();
usb_put_packet(1, value, 1, USB_DTS_TOGGLE);
}
En la AN0 conecto la señal de Vdd (que la tomo del USB) con un potenciometro para variar la tensión, pero siemrpe me da 0 en el visual, y la tensión varía bien.
En el visual basic lo que le llega del micro lo toma como variable tipo Byte, no se si puede estar el fallo en la forma de declarar lñas variables, que estoy un poco liado en eso...
A ver si saberis de donde puede venir
Un Saludo!!