Názor k článku Architektura mikrořadičů s jádry ARM Cortex-M3 od Petr Stehlík - spouštím a čtu přímo, takto: unsigned int mujAnalogRead(byte port,...

  • Článek je starý, nové názory již nelze přidávat.
  • 7. 10. 2015 17:16

    Petr Stehlík
    Zlatý podporovatel

    spouštím a čtu přímo, takto:

    unsigned int mujAnalogRead(byte port, byte reference)
    {
    ADMUX = (reference << 6) | (port & 0x07);
    delay(5);
    ADCSRA |= _BV(ADSC); // Start conversion
    while (bit_is_set(AD­CSRA,ADSC)); // measuring
    // return ADCW; // zahodit
    ADCSRA |= _BV(ADSC); // Start conversion
    while (bit_is_set(AD­CSRA,ADSC)); // measuring
    return ADCW;
    }

    A to ještě i ten výsledek této funkce kolikrát zahazuju a volám ji znovu, až tak tomu nevěřím, že to bude dodávat reálné výsledky.

    Přerušení po každém měření mi přijde jako overkill, vždyť je to normálně převedeno raz-dva. Signály sampluju stejnosměrné stabilní, ale stejně se mi ta naměřená hodnota podezřele mění - něco mi tam vnáší šum nebo ruch nebo nevím co.