Table of Contents

Аналого-цифровой преобразователь

Библиотека аналого-цифрового преобразователя (АЦП) создана для облегчения использования модуля АЦП AVR. Функции преобразования библиотеки блокирующие, т.е. при их вызове процессор ждёт окончания преобразования. Время преобразования зависит от делителя такта АЦП.

Типы данных

Функции

 

Пример

В примере АЦП настраивается в рабочее положение и считывается напряжение с двух входных каналов. Значение преобразования напряжения канала 0 считывается в переменную x и значение канала 1 считывается результатом десятикратного округления в переменную y.

#include <homelab/adc.h>
 
int main(void)
{
	unsigned short x, y;
 
	// Настройка аналого-цифрового преобразователю
	// Напряжение сравнения приходит из вывода AVCC. Рабочий такт
	// преобразователя в 8 раз ниже такта контроллера.
	adc_init(ADC_REF_AVCC, ADC_PRESCALE_8);
 
	// Считывание преобразованного значения канала 0 в переменную x
	x = adc_get_value(0);
 
	// Считывание преобразованного и усреднённого значения
        // канала 1 в переменную y   
	y = adc_get_average_value(1, 10);
}