Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
de:software:homelab:library:adc [2010/11/07 21:16] Wemberde:software:homelab:library:adc [2020/07/20 12:00] (current) – external edit 127.0.0.1
Line 1: Line 1:
-====== Analog zu Digital Konverter ======+====== Analog-Digital-Wandler======
  
-Diese Bibliothek enthält Funktionen die mit dem AVR Analog zu Digital Konverter genutzt werden. Alle Konversions-Funktionen in der Bibliothek blocken, 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.+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.
  
-===== Data types =====+===== Datentypen =====
  
-  * **//adc_reference//** \\ ADC reference voltage enumeration data typeOptions+  * **//adc_reference//** \\ ADC Vergleichsspannung, AufzählungsdatentypMöglichkeiten
-    * //ADC_REF_AREF// - Vergleichsspannung vom AREF pin+    * //ADC_REF_AREF// - Vergleichsspannung vom AREF Pin
-    * //ADC_REF_AVCC// - Vergleichsspannung vom AVCC pin.+    * //ADC_REF_AVCC// - Vergleichsspannung vom AVCC Pin.
     * //ADC_REF_2V56// - Interne 2,56 V Vergleichsspannung.     * //ADC_REF_2V56// - Interne 2,56 V Vergleichsspannung.
  
-  * **//adc_prescale//** \\ ADC clock prescaler enumration data typeIt determines the division factor of system clockOptions+  * **//adc_prescale//** \\ ADC Takt-Vorteiler, AufzählungsdatentypDer Vorteiler gibt den Divisionsfaktor für den Systemtakt anMöglichkeiten
-    * //ADC_PRESCALE_2//Division factor 2. +    * //ADC_PRESCALE_2//Divisionsfaktor 2. 
-    * //ADC_PRESCALE_4//Division factor 4. +    * //ADC_PRESCALE_4//Divisionsfaktor 4. 
-    * //ADC_PRESCALE_8//Division factor 8. +    * //ADC_PRESCALE_8//Divisionsfaktor 8. 
-    * //ADC_PRESCALE_16//Division factor 16. +    * //ADC_PRESCALE_16//Divisionsfaktor 16. 
-    * //ADC_PRESCALE_32//Division factor 32. +    * //ADC_PRESCALE_32//Divisionsfaktor 32. 
-    * //ADC_PRESCALE_64//Division factor 64. +    * //ADC_PRESCALE_64//Divisionsfaktor 64. 
-    * //ADC_PRESCALE_128//Division factor 128.+    * //ADC_PRESCALE_128//Divisionsfaktor 128.
  
 ===== Funktionen ===== ===== Funktionen =====
Line 23: Line 23:
   * **//void adc_init(adc_reference reference, adc_prescale prescale)//** \\   * **//void adc_init(adc_reference reference, adc_prescale prescale)//** \\
     Initialisiert ADC. Parameter:     Initialisiert ADC. Parameter:
-    * //reference//Vergleichsspannungsauswahl+    * //reference//Auswahl der Vergleichsspannung
-    * //prescale//Clock prescaler selection.+    * //prescale//Auswahl des  Takt-Vorteilers.
  
   * **//unsigned short adc_get_value(unsigned char channel)//** \\   * **//unsigned short adc_get_value(unsigned char channel)//** \\
-    Konvertiert spezifische ADC Kanal Analogwerte ins Digitale. Die Funktion blockt. Parameter: +    Konvertiert bestimmte analoge ADC Kanalwerte in digitale. Die Funktion blockiert. Parameter: 
-    * //channel// - ADC channel number (0 to 7). +    * //channel// - ADC Kanalnummer (0 bis 7). 
-    * Return 10-bit digital value.+    * Liefert einen digitalen 10-bit Wert.
  
   * **//unsigned short adc_get_average_value(unsigned char channel, unsigned char num_samples)//** \\   * **//unsigned short adc_get_average_value(unsigned char channel, unsigned char num_samples)//** \\
-    Konvertiert spezifische ADC Kanal Analogwerte zu Digitalen //desired number of times and calculates the average.// 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. 
-    * //channel// - ADC channel number (0 to 7). +    * //channel// - ADC Kanalnummer (0 bis 7). 
-    * //num_samples//Number of samples for calculation (1 to 64). +    * //num_samples//Anzahl der Werte für die Berechnung (1 bis 64). 
-    * Return 10-bit digital value.+    * Liefert einen digitalen 10-bit Wert.
  
 ===== Beispiel ===== ===== Beispiel =====
  
-Als Beispiel der ADC ist initialisiert und zwei Analogkanal-Werte werden zu digitalen konvertiert. Der Wert von Kanal 0 wird der Variable //x// zugewiesen und der durchschnittliche Wert von Kanal 1 der Variable //y//.+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//.
  
  
Line 49: Line 49:
  unsigned short x, y;  unsigned short x, y;
  
- // Initializing ADC. Reference voltage from AVCC. + // Initialisierung ADC. Vergleichsspannung von AVCC. 
- // Clock is times slower than system clock.+ // Takt ist mal langsamer als der Systemtakt.
  adc_init(ADC_REF_AVCC, ADC_PRESCALE_8);  adc_init(ADC_REF_AVCC, ADC_PRESCALE_8);
  
- // Converting channel value.+ // Konvertierung des Wertes von Kanal 0.
  x = adc_get_value(0);  x = adc_get_value(0);
  
- // Converting and averaging channel value.+ // Konvertieren des Wertes von Kanal und Errechnung des Durchschnitts.
  y = adc_get_average_value(1, 10);  y = adc_get_average_value(1, 10);
 } }
de/software/homelab/library/adc.1289157403.txt.gz · Last modified: (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0