====== analogWriteMax() ====== ''analogWriteMax()''는 지정한 출력 채널에서 사용할 수 있는 최댓값을 반환합니다. {{:commands:reference:analogwritemax.svg?900|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 값도 바뀐다. * ''analogWriteFreq()''의 반환값 또는 ''analogWriteMax()''를 사용해서 현재 duty 최대값을 확인한다. * Timer1, Timer3, Timer4, Timer5를 사용하는 다른 PWM, 펄스, 고속카운터 기능과 동시에 사용할 때는 타이머 충돌을 확인해야 한다. * MPAINO 아날로그 출력 모듈은 별도 전원과 딥스위치 설정이 필요할 수 있다. * 실제 전압 또는 전류 출력 범위는 모듈 딥스위치, 전원, 배선, 연결 장비 입력 사양과 일치해야 한다. ===== 같은 카테고리의 내장 명령어 ===== * [[commands:reference:analogwriteinit|analogWriteInit() 상세 설명 보기]] * [[commands:reference:analogwritefreq|analogWriteFreq() 상세 설명 보기]] * [[commands:reference:ianalogwriteinit|IanalogWriteInit() 상세 설명 보기]] * [[commands:reference:ianalogwrite|IanalogWrite() 상세 설명 보기]] * [[commands:reference:ianalogwritef|IanalogWritef() 상세 설명 보기]] [[commands:builtin|← 내장 명령어 리스트]]