analogWriteFreq()는 지정한 출력 채널의 PWM 주파수를 설정합니다.
uint16_t analogWriteFreq(uint8_t ch, uint32_t frequencyHz)
| 명령어 | 인수 | 반환값 | 동작 |
|---|---|---|---|
analogWriteFreq(ch, frequencyHz) | uint8_t chuint32_t frequencyHz | uint16_t | 지정한 출력 채널의 PWM 주파수를 설정합니다. |
void setup() { analogWriteFreq(3, 1000); // 지정한 출력 채널의 PWM 주파수를 설정합니다. uint16_t maxValue = analogWriteMax(3); // 지정한 출력 채널에서 사용할 수 있는 최댓값을 반환합니다. analogWrite(3, maxValue / 4); // D46 / OC5A, 약 25% analogWrite(4, maxValue / 2); // D45 / OC5B, 약 50% analogWrite(5, maxValue); // D44 / OC5C, 100% } void loop() { }
analogWrite(0~15, value)는 Y 아날로그 출력용이고, analogWrite(20~31, value)는 K/K2 고속펄스 출력용입니다.D130~D135, K2에서 D130~D141이며 Y 모듈 수와 관계없이 고정됩니다.0~65535 값을, 고속펄스 출력에는 Arduino 호환 0~255 값을 사용합니다.analogWriteInit(), analogWriteFreq(), analogWriteMax()는 Y 아날로그 출력 채널용입니다. 고속펄스 20~31에는 사용하지 않아야 합니다.analogWrite(130~141, value)는 사용하지 않아야 합니다.analogWriteFreq()를 호출하면 TOP이 자동으로 바뀌며 이후 analogWrite()의 최대 duty 값도 달라집니다.analogWriteFreq()의 반환값 또는 analogWriteMax()로 확인해주시기 바랍니다.