analogReadResolution()

 

Описание
analogReadResolution () является расширением аналогового интерфейс для Arduino Due.
Устанавливает размер (в битах) значения, возвращаемого analogRead (). По умолчанию это 10 бит (возвращает значения между 0-1023) для обратной совместимости с AVR плат на базе.
Due имеет 12-битный АЦП , который могжет быть доступен для изменения разрешения до 12. Будет возвращать значения из analogRead () от 0 до 4095.
Синтаксис
analogReadResolution(bits)
Параметры
биты: определяет разрешение (в битах) значения, возвращаемого функцией analogRead (). Вы можете установить 1 и 32. Вы можете установить разрешения выше 12, но значения, возвращаемые analogRead () будет страдать приближении. См. примечание ниже.
Возвращает
Нет.
Внимание
Если вы установите analogReadResolution () значения до значения выше, чем возможности вашего совета, Arduino будет только доложить на ее высоком разрешении обивка дополнительные биты нулями.
Например: используя связи с analogReadResolution (16) даст вам приближается 16-битное число с первым 12 битам содержащих реальные чтение АЦП и последние 4 бита нулями .
Если вы установите analogReadResolution () значения до значения ниже, чем возможности вашей платы, дополнительных младшие биты считываются из АЦП будет отброшен .
Использование разрешение 16 бит (или любое разрешение выше , чем фактические аппаратные возможности) позволяет писать эскизы, которые автоматически обрабатывать устройств с высоким разрешением ADC когда они становятся доступны на будущее платы без изменения строки кода.
Пример
void setup() {
  // open a serial connection
  Serial.begin(9600); 
}

void loop() {
  // read the input on A0 at default resolution (10 bits)
  // and send it out the serial connection 
  analogReadResolution(10);
  Serial.print("ADC 10-bit (default) : ");
  Serial.print(analogRead(A0));

  // change the resolution to 12 bits and read A0
  analogReadResolution(12);
  Serial.print(", 12-bit : ");
  Serial.print(analogRead(A0));

  // change the resolution to 16 bits and read A0
  analogReadResolution(16);
  Serial.print(", 16-bit : ");
  Serial.print(analogRead(A0));

  // change the resolution to 8 bits and read A0
  analogReadResolution(8);
  Serial.print(", 8-bit : ");
  Serial.println(analogRead(A0));

  // a little delay to not hog serial monitor
  delay(100);
}
См. также

 

Программирование:

*