Escrito originalmente por Keiper
Estoy trabajando con el compilador CCS y tengo un problema cuando realizo la conversion porque no se donde me guarda ls 10 bits del resultado de la conversion.
Asi como en ensamblador estan los registros ADRESH y ADRESL , hay algún registro en el CCS donde se guarden estos valores?
Yo hago lo siguiente:
setup_port_a( RA0_ANALOG);
setup_adc( ADC_CLOCK_INTERNAL);
set_adc_channel( 0 );
delay_ms( 50 );
value = read_adc();
que tendré en value?
GRACIAS
Mira hay varios detalles, para ocupar el adc en CCS primero tienes que definir con cuantos bits deseas trabajar con el ADC, con la siguiente directiva, la cual va al inicio del código:
#DEVICE ADC= 8 , lo cual quiere decir que trabajaras con 8 bits menos signifiativos del ADC., Aqui te pongo las demás opciones:
#DEVICE-----8 bit-------10 bit--------11 bit--------16 bit
ADC=8-------00-FF------00-FF--------00-FF--------00-FF
ADC=10-----x------------0-3FF---------x --------x
ADC=11-----x------------ x--------------0-7FF-------x
ADC=16-----0-FF00-----0-FFC0--------0-FFEO---- 0-FFFF
Note: x is not defined
Respondiendo tu pregunta, depende que que directiva estes ocupando, value puede ser de 8 o 16 bits
Si #DEVICE ADC = 10 entonces value debe ser de 16 bits, pero el máximo valor que podras esperar es de 0x03FF
Si #DEVICE ADC= 8 entonces value debera ser de 8 bits, pero el máx valor que puedes esperar es 0xFF= 255
Espero haberte ayudado......................SALUDOS