commands:reference:ianalogwritef
IanalogWritef()
IanalogWritef()는 사용자 실수값을 아날로그 출력 범위로 변환하여 출력합니다.
void IanalogWritef(uint8_t ch, float min, float max, float value)
명령어
| 명령어 | 인수 | 반환값 | 동작 |
|---|---|---|---|
IanalogWritef(ch, min, max, value) | uint8_t ch — 출력할 아날로그 출력 핀 또는 채널float min — 사용자 입력 범위의 최솟값float max — 사용자 입력 범위의 최댓값float value — 출력할 사용자 입력값 | void | 사용자 실수값을 아날로그 출력 범위로 변환하여 출력합니다. |
예제
const uint8_t DEMAND_INPUT = A0; const uint8_t OUTPUT_CHANNEL = 0; void setup() { Serial.begin(115200); } void loop() { const float demandVolts = IanalogReadf(DEMAND_INPUT, 0.0F, 10.0F); // 아날로그 입력값을 지정한 실수 범위로 변환합니다. IanalogWritef(OUTPUT_CHANNEL, 0.0F, 10.0F, demandVolts); // 사용자 실수값을 아날로그 출력 범위로 변환하여 출력합니다. Serial.print(F("demand=")); Serial.print(demandVolts, 2); Serial.println(F("V")); delay(250); }
주의사항
- 인수는 반드시
ch, min, max, value순서로 지정해야 합니다. min과max는 전기적 출력 범위를 직접 설정하는 값이 아니라value를 해석할 사용자 입력 범위를 지정합니다.value가min~max범위를 벗어나면 내부Iscalef()에 의해 가까운 끝값으로 제한됩니다.min을max보다 크게 지정하면 출력 방향이 반전됩니다.min과max가 같으면 출력값은0이 됩니다.analogWriteInit()이나analogWriteFreq()로 Timer TOP을 변경하면 실제analogWrite()출력 범위도 달라집니다. 16비트0~65535해상도를 유지하려면 기본 TOP65535를 사용해야 합니다.- 출력 모듈의 딥스위치 설정·외부 전원·배선은 연결 장비의 입력 사양과 일치해야 합니다.
- 같은 타이머를 사용하는 PWM·펄스 출력·카운터 명령어와 동시에 사용하지 않아야 합니다.
같은 카테고리의 내장 명령어
commands/reference/ianalogwritef.txt · 마지막으로 수정됨: 저자 127.0.0.1
