Cette librairie fourni des fonctions permettant d'utiliser le convertisseur numérique AVR. Toutes les fonctions de conversion de la librairie sont bloquées, cela signifie que le processeur attend aussi longtemps qu'il sera nécessaire pour obtenir un résultat. Le temps de conversion dépend de l'horloge de l'ADC.
Initialisation de l'ADC. Arguments:
Convertit la valeur analogique de la voie en argument en une valeur numérique. La fonction est bloquée. Arguments:
Convertit la valeur analogique de la voie en argument en une valeur numérique en limitant le nombre d'itérations et calcule la précision. La fonction est bloquée. Arguments:
Dans l'exemple suivant, l'ADC est initialisé et deux voies analogiques sont converties en numérique. La valeur de la voir 0 est assignée à la variable x et la précision de la valeur de la voie 1 à la variable y.
#include <homelab/adc.h> int main(void) { unsigned short x, y; // Initializing ADC. Reference voltage from AVCC. // Clock is 8 times slower than system clock. adc_init(ADC_REF_AVCC, ADC_PRESCALE_8); // Converting channel 0 value. x = adc_get_value(0); // Converting and averaging channel 1 value. y = adc_get_average_value(1, 10); }