analogWriteResolution()

 

Описание
analogWriteResolution () является расширением аналоговый интерфейс для Arduino Due.
analogWriteResolution () устанавливает разрешение analogWrite () функцию. По умолчанию это 8 бит (значение между 0-255) для обратной совместимости с AVR плат на базе.
Due имеет следующие возможности hardare:
12-контактный с 8-разрядной ШИМ (как и другие платы на базе AVR)
2 контакта с 12-битным ЦАП (цифро-аналоговый преобразователь)
Установив разрешение записи до 12, вы можете использовать analogWrite () со значениями от 0 до 4095, чтобы использовать полное разрешение ЦАП или установить ШИМ-сигнала без пролонгации.
Синтаксис
analogWriteResolution(bits)
Параметры
bits: определяет разрешение (в битах) значения, используемые в analogWrite () функцию. Значение может варьироваться от 1 до 32. Если вы выбираете разрешение выше или ниже, чем аппаратные вашего форума возможностями, значение, используемое в analogWrite () будет либо усеченная, если она слишком высокая или нулями, если оно слишком низкое. См. примечание ниже.
Возвращает
Нет.
Внимание
Если вы установите analogWriteResolution () значения до значения выше, чем возможности вашего совета, Arduino будет отказаться от дополнительных битов. Например: используя связи с analogWriteResolution (16) на 12-разрядный ЦАП контактный, только первые 12 бита значения, переданные analogWrite () будет использоваться и последние 4 бита будут отменены.
Если вы установите analogWriteResolution () значения до значения ниже, чем возможности вашего совета, отсутствующие биты будут заполняться нулями , чтобы заполнить аппаратных необходимого размера. Например: используя связи с analogWriteResolution (8) на 12-разрядный ЦАП PIN-кода, Arduino будет добавить 4 нулевых бит в 8-битное значение, используемое в analogWrite (), чтобы получить 12 бит требуется.
Пример
void setup(){
  // open a serial connection
  Serial.begin(9600); 
  // make our digital pin an output
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
}

void loop(){
  // read the input on A0 and map it to a PWM pin
  // with an attached LED
  int sensorVal = analogRead(A0);
  Serial.print("Analog Read) : ");
  Serial.print(sensorVal);

  // the default PWM resolution
  analogWriteResolution(8);
  analogWrite(11, map(sensorVal, 0, 1023, 0 ,255));
  Serial.print(" , 8-bit PWM value : ");
  Serial.print(map(sensorVal, 0, 1023, 0 ,255));

  // change the PWM resolution to 12 bits
  // the full 12 bit resolution is only supported
  // on the Due
  analogWriteResolution(12);
  analogWrite(12, map(sensorVal, 0, 1023, 0, 4095));
  Serial.print(" , 12-bit PWM value : ");
  Serial.print(map(sensorVal, 0, 1023, 0, 4095));

  // change the PWM resolution to 4 bits
  analogWriteResolution(4);
  analogWrite(13, map(sensorVal, 0, 1023, 0, 127));
  Serial.print(", 4-bit PWM value : ");
  Serial.println(map(sensorVal, 0, 1023, 0, 127));

  delay(5);
}
См. также

Справочник языка Arduino

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

*