Por favor considere los siguientes códigos:
//Code Sample 1
void func_val(void)
{
unsigned int val;
ADCSC1 = 0x00; // sets the required channel.
while(!ADCSC1_COCO); //check for conversion complete flag.
val= ADCRL;
}
//Code sample 2
void EvalProx()
{
unsigned int proxval;
ADCSC1 = 0x02; // sets the required channel.
while(!ADCSC1_COCO); //check for conversion complete flag.
proxval = ADCRL;
}
Ahora ambas muestras son fragmentos de un código más grande, que compila y funciona.
Mi pregunta es sobre el concepto de convertidores analógicos a digitales en MCU.
ADCRL
y ADCRH
son los registros en los que se almacenan los valores convertidos.
ADCSC
es el registro de control de estado en el que he especificado dos canales diferentes para usar.
Pregunta: los ADCRL
/ ADCRH
son iguales para los dos ajustes diferentes de ADCSC
, es decir, iguales para los dos canales . Entonces, ¿el valor de proxval
influye en el valor de val
cuando se accede? es decir, si func_val()
se ejecuta y luego
EvalProx()
, ¿está el valor de proxval
influenciado por val ? (cuando ambos valores dependen de ADCRH
y ADCRL
)
Espero que esté claro. Antes de votar hacia abajo esta pregunta, solicito, por favor tómese un tiempo para decirme por qué ha votado abajo, para que pueda mejorar mi pregunta.
Hoja de datos de la MCU usada: MC9S08DZ60
Números de página específicos: Capítulo 10: - Página 181,182- para ADCRH
y ADCRL
.