Diese Bibliothek enthält Funktionen um den AVR Analog-Digital-Wandler zu nutzen. Sämtliche Funktionen dieser Bibliothek sind blockierend, d.h. der Prozessor wartet so lange, bis die Ergebnisse da sind. Die Zeit für die Konvertierung hängt von der ADC-Taktung ab.
Initialisiert ADC. Parameter:
Konvertiert bestimmte analoge ADC Kanalwerte in digitale. Die Funktion blockiert. Parameter:
Konvertiert eine gewünschte Anzahl analoger Werte eines bestimmten ADC Kanals zur digitalen Werten und berechnet den Mittelwert. Die Funktion blockiert.
Der ADC sei initialisiert und zwei analoge Kanalwerte zu digitalen konvertiert. Der Wert von Kanal 0 wird der Variable x zugewiesen und der durchschnittliche Wert von Kanal 1 der Variable y.
#include <homelab/adc.h> int main(void) { unsigned short x, y; // Initialisierung ADC. Vergleichsspannung von AVCC. // Takt ist 8 mal langsamer als der Systemtakt. adc_init(ADC_REF_AVCC, ADC_PRESCALE_8); // Konvertierung des Wertes von Kanal 0. x = adc_get_value(0); // Konvertieren des Wertes von Kanal 1 und Errechnung des Durchschnitts. y = adc_get_average_value(1, 10); }