commands:reference:analogwriteinit
analogWriteInit()
analogWriteInit()는 출력 타이머의 분해능과 분주비를 설정합니다.
void analogWriteInit(uint8_t ch, uint16_t top = 65535, uint16_t prescaler = 1)
명령어
| 명령어 | 인수 | 반환값 | 동작 |
|---|---|---|---|
analogWriteInit(ch, top, prescaler) | uint8_t chuint16_t top = 65535uint16_t prescaler = 1 | void | 출력 타이머의 분해능과 분주비를 설정합니다. |
예제
void setup() { analogWriteInit(0, 65535, 1); // 출력 타이머의 분해능과 분주비를 설정합니다. analogWrite(0, 32767); // 약 50% analogWrite(1, 65535); // 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/analogwriteinit.txt · 마지막으로 수정됨: 저자 127.0.0.1
