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
en:software:homelab:library:adc [2010/02/08 14:51] mikk.leinien:software:homelab:library:adc [2020/07/20 12:00] (current) – external edit 127.0.0.1
Line 1: Line 1:
-====== Analog to digital converter ======+====== Analog to Digital Converter ======
  
-Analoog-digitaalmuunduri teek on AVR ADC mooduli kasutamise lihtsustamiseksTeegi muundamise funktsioonid on blokeeruvadehk nende väljakutsumisel jääb protsessor muundamise lõppu ootamaMuundamise aeg sõltub ADC taktijagurist.+This library provides functions to use AVR analog to digital converterAll the conversion functions in library are blockingwhich means the processor waits as long as it takes to get the resultsThe conversion time depends on the ADC clock.
  
-===== Andmetüübid =====+===== Data Types =====
  
-  * **//adc_reference//** \\ Analoog-digitaalmuunduri võrdluspinge valiku tüüpVäärtuste variandid ja tähendused+  * **//adc_reference//** \\ ADC reference voltage enumeration data typeOptions
-    * //ADC_REF_AREF//Võrdluspinge saadakse AREF viigult+    * //ADC_REF_AREF//Reference voltage from the AREF pin
-    * //ADC_REF_AVCC//Võrdluspinge saadakse AVCC viigult+    * //ADC_REF_AVCC//Reference voltage from the AVCC pin
-    * //ADC_REF_2V56//Võrdluspinge on sisemine 2,56 V.+    * //ADC_REF_2V56//Internal 2,56 V reference voltage.
  
-  * **//adc_prescale//** \\ Analoog-digitaalmuunduri taktijaguri valiku tüüpVäärtuste variandid+  * **//adc_prescale//** \\ ADC clock prescaler enumration data type. It determines the division factor of system clockOptions
-    * //ADC_PRESCALE_2//Jagamistegur 2. +    * //ADC_PRESCALE_2//Division factor 2. 
-    * //ADC_PRESCALE_4//Jagamistegur 4. +    * //ADC_PRESCALE_4//Division factor 4. 
-    * //ADC_PRESCALE_8//Jagamistegur 8. +    * //ADC_PRESCALE_8//Division factor 8. 
-    * //ADC_PRESCALE_16//Jagamistegur 16. +    * //ADC_PRESCALE_16//Division factor 16. 
-    * //ADC_PRESCALE_32//Jagamistegur 32. +    * //ADC_PRESCALE_32//Division factor 32. 
-    * //ADC_PRESCALE_64//Jagamistegur 64. +    * //ADC_PRESCALE_64//Division factor 64. 
-    * //ADC_PRESCALE_128//Jagamistegur 128.+    * //ADC_PRESCALE_128//Division factor 128.
  
-===== Funktsioonid =====+===== Functions =====
  
-  * **//void adc_init(adc_reference reference, adc_prescale prescale)//** \\ ADC tööks ettevalmistamineParameetrid+  * **//void adc_init(adc_reference reference, adc_prescale prescale)//** \\ 
-    * //reference//Võrdluspinge valik+    Initializes ADC. Parameters
-    * //prescale//Taktijaguri valik. Mida suurem on jaguri tegur, seda rohkem võtab muundamine aega, kuid seda mürakindlam see on.+    * //reference//Reference voltage selection
 +    * //prescale//Clock prescaler selection.
  
-  * **//unsigned short adc_get_value(unsigned char channel)//** \\ Soovitud ADC sisendkanali väärtuse muundamineFunktsioon on blokeeruvParameetrid+  * **//unsigned short adc_get_value(unsigned char channel)//** \\ 
-    * //channel// - ADC kanali number (0 kuni 7). +    Converts specified ADC channel analog value to digitalFunction is blockingParameter
-    * Tagastab 10-bitise väärtuse.+    * //channel// - ADC channel number (0 to 7). 
 +    * Return 10-bit digital value.
  
-  * **//unsigned short adc_get_average_value(unsigned char channel, unsigned char num_samples)//** \\ Soovitud ADC sisendkanali väärtuse mitmekordne muundamine ja keskmise võtmineFunktsioon on blokeeruvParameetrid+  * **//unsigned short adc_get_average_value(unsigned char channel, unsigned char num_samples)//** \\ 
-    * //channel// - ADC kanali number (0 kuni 7). +    Converts specified ADC channel analog value to digital desired number of times and calculates the averageFunction is blockingParameters
-    * //num_samples//Keskmistamiste arv. Lubatud arv on kuni 64. +    * //channel// - ADC channel number (0 to 7). 
-    * Tagastab 10-bitise keskmistatud väärtuse.+    * //num_samples//Number of samples for calculation (to 64)
 +    * Return 10-bit digital value.
  
-===== Näide =====+===== Example =====
  
-Näites seatakse analoog-digitaalmuundur töövalmis ja loetakse kahelt sisendkanalilt pingeKanali pingemuundamise väärtus loetakse muutujasse //x// ja kanali väärtus kümnekordse ümardamise tulemusena muutujasse //y//.+For example ADC is initialized and two analog channel values are converted to digitalValue of channel is assigned to variable //x// and averaged value of channel to variable //y//.
  
 <code c> <code c>
Line 45: Line 48:
  unsigned short x, y;  unsigned short x, y;
  
- // Analoog-digitaalmuunduri seadistamine + // Initializing ADC. Reference voltage from AVCC. 
- // Võrdluspinge tuleb AVCC viigultMuunduri töötakt + // Clock is times slower than system clock.
- // on korda madalam kontrolleri taktist.+
  adc_init(ADC_REF_AVCC, ADC_PRESCALE_8);  adc_init(ADC_REF_AVCC, ADC_PRESCALE_8);
  
- // Kanali muundatud väärtuse lugemine muutujasse x+ // Converting channel value.
  x = adc_get_value(0);  x = adc_get_value(0);
  
- // Kanali muundatud ja keskmistatud väärtuse lugemine muutujasse y+ // Converting and averaging channel value.
  y = adc_get_average_value(1, 10);  y = adc_get_average_value(1, 10);
 } }
en/software/homelab/library/adc.1265633514.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