AnalogReadResolution

Материал из MK90.ORG wiki
Перейти к: навигация, поиск

Справка Язык | Библиотеки | Сравнение | Изменения

analogReadResolution()

Описание

Эта функция - расширение Analog API для плат Arduino Due.

Устанавливает размер (в битах) значения, которое возвращает analogRead(). По умолчанию - 10 бит (от 0 до 1023), для совместимости с Arduino-совместимыми платами серии AVR. Due имеет 12-разрядный АЦП, который поддерживает разрешающую способность до 12 (при установке этого значения analogRead() будет возвращать числа от 0 до 4095).

Синтаксис

analogReadResolution(bits)

Параметры

bits: определяет разрешающую способность (выраженную в количестве бит) результата, возвращаемого analogRead(). Допустимы значения от 1 до 32, установка разрешения выше 12 бит будет приводить к аппроксимации результатов (см. замечание ниже).

Возвращаемое значение

Отсутствует

Замечание

Если вы попытаетесь передать analogReadResolution() значение, которое превышает разрешающую способность платы, это в итоге приведет к правильным результатам. Однако младшие разряды возвращаемых чисел сверх аппаратных возможностей будут заполнены нулями.

Например: используя Due и analogReadResolution(16), вы будете получать аппроксимировнное 16-битное число, у которого старшие 12 разрядов в двоичном представлении будут содержать реально прочитанные из АЦП данные, а младшие 4 - нули.

И, напротив - если передать в analogReadResolution() значение, меньшее разрешающей способности платы, это приведет к автоматическому загрублению результата, путем отбрасывания младших разрядов.

Использование 16-битной (или любой другой, превышающей текущую) разрешающей способности позволяет писать скетчи, которые будут использовать улучшенную точность АЦП будущих плат, которые появятся (надеемся ;) в ближайшем будущем - и при этом не потребуют никаких исправлений!

Смотри также

Руководство по Wiring


Исправления, пожелания и новые статьи должны быть опубликованы через Форум.

Оригинальные тексты руководств и переводы распространяются Arduino и MK90 на условиях лицензии Creative Commons Attribution-ShareAlike 3.0 License. Примеры исходных кодов и ссылки являются общественным достоянием.