사용자 도구

사이트 도구


commands:reference:analogwritemax

analogWriteMax()

analogWriteMax()는 지정한 출력 채널에서 사용할 수 있는 최댓값을 반환합니다.

analogWriteMax 명령어 동작 흐름

uint16_t analogWriteMax(uint8_t ch)

명령어

명령어 인수 반환값 동작
analogWriteMax(ch) uint8_t ch uint16_t 지정한 출력 채널에서 사용할 수 있는 최댓값을 반환합니다.

예제

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 고속펄스 출력용입니다.
  • 고속펄스 GPIO는 K에서 D130~D135, K2에서 D130~D141이며 Y 모듈 수와 관계없이 고정됩니다.
  • 아날로그 출력에는 raw 0~65535 값을, 고속펄스 출력에는 Arduino 호환 0~255 값을 사용합니다.
  • analogWriteInit(), analogWriteFreq(), analogWriteMax()는 Y 아날로그 출력 채널용입니다. 고속펄스 20~31에는 사용하지 않아야 합니다.
  • analogWrite(130~141, value)는 사용하지 않아야 합니다.
  • 같은 타이머에 속한 3개 채널은 TOP·분주비·주파수를 공유합니다.
  • analogWriteFreq()를 호출하면 TOP이 자동으로 바뀌며 이후 analogWrite()의 최대 duty 값도 달라집니다.
  • 현재 duty 최대값은 analogWriteFreq()의 반환값 또는 analogWriteMax()로 확인해주시기 바랍니다.
  • Timer1, Timer3, Timer4, Timer5를 사용하는 다른 PWM·펄스·고속카운터 기능과 함께 사용할 때는 타이머 충돌을 확인해야 합니다.
  • MPAINO 아날로그 출력 모듈에는 별도 전원과 딥스위치 설정이 필요할 수 있습니다.
  • 실제 전압 또는 전류 출력 범위는 모듈 딥스위치 설정·전원·배선·연결 장비의 입력 사양과 일치해야 합니다.

같은 카테고리의 내장 명령어

commands/reference/analogwritemax.txt · 마지막으로 수정됨: 저자 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki