Visualización en valores analógicos y digitales del hiperterminio desde un potenciómetro a través de un microcontrolador

-1

Este es el código que hemos probado, muestra algunos valores digitales pero no los valores analógicos. ¿Hay algo mal con el código? ¿Se puede mejorar de alguna manera?

#include "a library"

void setup (void)
{
     ADMUX =_BV(REFS0);
     ADCSRA = _BV(ADEN) | _BV(ADPS2) |_BV(ADPS1) |_BV(ADPS0);

}

unsigned int analogInput(char ch)
{

ch &= 0b00000111;
ADMUX |= ch;
ADCSRA |= _BV(ADSC);
while (!(ADCSRA & _BV(ADIF)));
ADCSRA |= _BV(ADIF);
return(ADC);

}


int main (void)
{


    setup();
    SetupComputerConnection();
    unsigned int value;
          double analoguevalue;
    setup();

while(1)
{
    value=analogInput(0);
         analoguevalue=(value/1024)*5.0;
    printf("digital=%d analog=%.2lf\n", value);
}

}
    
pregunta user41177

1 respuesta

1

Prueba esto:

printf("digital=%d analog=%.2lf\n", value, analoguevalue);

analoguevalue no se mostró.

También debería haber utilizado una interrupción para llamar a la función printf solo cuando se cambia el valor del registro ADC.

    
respondido por el Cornelius

Lea otras preguntas en las etiquetas