Both sides previous revisionPrevious revisionNext revision | Previous revision |
et:software:homelab:library:adc [2010/02/08 12:09] – Page moved from et:software:library:adc to et:software:homelab:library:adc mikk.leini | et:software:homelab:library:adc [2020/07/20 09:00] (current) – external edit 127.0.0.1 |
---|
====== Analoog-digitaalmuundur ====== | ====== Analoog-digitaalmuundur ====== |
| |
Analoog-digitaalmuunduri teek on AVR ADC mooduli kasutamise lihtsustamiseks. Teegi muundamise funktsioonid on blokeeruvad, ehk nende väljakutsumisel jääb protsessor muundamise lõppu ootama. Muundamise aeg sõltub ADC taktijagurist. | Analoog-digitaalmuunduri teek on AVR ADC mooduli kasutamise lihtsustamiseks. Teegi muundamise funktsioonid on blokeeruvad ehk nende väljakutsumisel jääb protsessor muundamise lõppu ootama. Muundamise aeg sõltub ADC taktijagurist. |
| |
===== Andmetüübid ===== | ===== Andmetüübid ===== |
| |
* **//adc_reference//** \\ Analoog-digitaalmuunduri võrdluspinge valiku tüüp. Väärtuste variandid ja tähendused: | * **//adc_reference//** \\ Analoog-digitaalmuunduri võrdluspinge valiku tüüp. Väärtuste variandid ja tähendused |
* //ADC_REF_AREF// - Võrdluspinge saadakse AREF viigult. | * Kodulabori I ja II generatsioon: |
* //ADC_REF_AVCC// - Võrdluspinge saadakse AVCC viigult. | * //ADC_REF_AREF// - Võrdluspinge saadakse AREF viigult. |
* //ADC_REF_2V56// - Võrdluspinge on sisemine 2,56 V. | * //ADC_REF_AVCC// - Võrdluspinge saadakse AVCC viigult. |
| * //ADC_REF_2V56// - Võrdluspinge on sisemine 2,56 V. |
| * Kodulabori III generatsioon: |
| * //ADC_REF_AREF// - Võrdluspinge saadakse AREFA(ADC0) viigult (Maksimaalselt 2.7V). |
| * //ADC_REF_AREFB// - Võrdluspinge saadakse AREFB(ADC8) viigult (Maksimaalselt 2.7V). |
| * //ADC_REF_AVCC// - Võrdluspinge saadakse VCC viigult ja jagatakse 1.6ga. |
| * //ADC_REF_VCCDIV2// - Võrdluspinge saadakse VCC viigult ja jagatakse 2ga. |
| * //ADC_REF_1V0// - Võrdluspinge on sisemine 1,00 V. |
| |
* **//adc_prescale//** \\ Analoog-digitaalmuunduri taktijaguri valiku tüüp. Väärtuste variandid: | * **//adc_prescale//** \\ Analoog-digitaalmuunduri taktijaguri valiku tüüp. Väärtuste variandid: |
* **//void adc_init(adc_reference reference, adc_prescale prescale)//** \\ ADC tööks ettevalmistamine. Parameetrid: | * **//void adc_init(adc_reference reference, adc_prescale prescale)//** \\ ADC tööks ettevalmistamine. Parameetrid: |
* //reference// - Võrdluspinge valik. | * //reference// - Võrdluspinge valik. |
* //prescale// - Taktijaguri valik. Mida suurem on jaguri tegur, seda rohkem võtab muundamine aega, kuid seda mürakindlam see on. | * //prescale// - Taktijaguri valik. Mida suurem on jaguri tegur, seda rohkem võtab muundamine aega, kuid seda mürakindlam see on. Kodulabor I ja II puhul on maksimaalne sagedus 125kHz, Kodulabor III puhul 2MHz. |
| |
* **//unsigned short adc_get_value(unsigned char channel)//** \\ Soovitud ADC sisendkanali väärtuse muundamine. Funktsioon on blokeeruv. Parameetrid: | * **//unsigned short adc_get_value(unsigned char channel)//** \\ Soovitud ADC sisendkanali väärtuse muundamine. Funktsioon on blokeeruv. Parameetrid: |
* //channel// - ADC kanali number (0 kuni 7). | * //channel// - ADC kanali number. |
* Tagastab 10-bitise väärtuse. | * Tagastab 10-bitise väärtuse. (Kodulabor III puhul 11-bitise väärtuse) |
| |
* **//unsigned short adc_get_average_value(unsigned char channel, unsigned char num_samples)//** \\ Soovitud ADC sisendkanali väärtuse mitmekordne muundamine ja keskmise võtmine. Funktsioon on blokeeruv. Parameetrid: | * **//unsigned short adc_get_average_value(unsigned char channel, unsigned char num_samples)//** \\ Soovitud ADC sisendkanali väärtuse mitmekordne muundamine ja keskmise võtmine. Funktsioon on blokeeruv. Parameetrid: |
* //channel// - ADC kanali number (0 kuni 7). | * //channel// - ADC kanali number. |
* //num_samples// - Keskmistamiste arv. Lubatud arv on 1 kuni 64. | * //num_samples// - Keskmistamiste arv. Lubatud arv on 1 kuni 64. |
* Tagastab 10-bitise keskmistatud väärtuse. | * Tagastab keskmistatud väärtuse. |
| |
| <pagebreak> |
| |
===== Näide ===== | ===== Näide ===== |
} | } |
</code> | </code> |
| |
| |