사용자 도구

사이트 도구


commands:reference:ianalogwrite

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
commands:reference:ianalogwrite [2026/09/01 20:04] – 만듦 - 바깥 편집 127.0.0.1commands:reference:ianalogwrite [2026/10/25 11:33] (현재) – 바깥 편집 127.0.0.1
줄 11: 줄 11:
 ^ 명령어 ^ 인수 ^ 반환값 ^ 동작 ^ ^ 명령어 ^ 인수 ^ 반환값 ^ 동작 ^
 | ''IanalogWrite(ch, min, max, value)'' | ''uint8_t ch'' — 출력할 아날로그 출력 핀 또는 채널\\ ''int32_t min'' — 사용자 입력 범위의 최솟값\\ ''int32_t max'' — 사용자 입력 범위의 최댓값\\ ''int32_t value'' — 출력할 사용자 입력값 | ''void'' | 사용자 정수값을 아날로그 출력 범위로 변환하여 출력합니다. | | ''IanalogWrite(ch, min, max, value)'' | ''uint8_t ch'' — 출력할 아날로그 출력 핀 또는 채널\\ ''int32_t min'' — 사용자 입력 범위의 최솟값\\ ''int32_t max'' — 사용자 입력 범위의 최댓값\\ ''int32_t value'' — 출력할 사용자 입력값 | ''void'' | 사용자 정수값을 아날로그 출력 범위로 변환하여 출력합니다. |
 +
  
 ===== 예제 ===== ===== 예제 =====
  
 <code cpp> <code cpp>
 +const uint8_t DEMAND_INPUT = A0;
 +const uint8_t OUTPUT_CHANNEL = 0;
 +
 void setup() { void setup() {
 +  Serial.begin(115200);
 } }
  
 void loop() { void loop() {
-  IanalogWrite(0, 0, 100, 50);  // 50% 출력 +  const int32_t demandPercent = IanalogRead(DEMAND_INPUT, 0, 100);  // 아날로그 입력값을 지정한 정수 범위로 변환합니다. 
-  delay(500);+  IanalogWrite(OUTPUT_CHANNEL, 0, 100, demandPercent);  // 사용자 정수값을 아날로그 출력 범위로 변환하여 출력합니다. 
 + 
 +  Serial.print(F("demand=")); 
 +  Serial.print(demandPercent); 
 +  Serial.println(F("%")); 
 +  delay(250);
 } }
 </code> </code>
줄 26: 줄 36:
 ===== 주의사항 ===== ===== 주의사항 =====
  
-  * 인수 순서는 반드시 ''ch, min, max, value''이다. +  * 인수는 반드시 ''ch, min, max, value'' 순서로 지정해야 합니다. 
-  * ''min''과 ''max''는 전기적 출력 범위를 직접 설정하는 값이 아니라 ''value''를 해석하는 사용자 입력 범위이다. +  * ''min''과 ''max''는 전기적 출력 범위를 직접 설정하는 값이 아니라 ''value''를 해석할 사용자 입력 범위를 지정합니다. 
-  * ''value''가 ''min~max'' 범위를 벗어나면 내부 ''Iscalef()''에 의해 가까운 끝값으로 제한된다. +  * ''value''가 ''min~max'' 범위를 벗어나면 내부 ''Iscalef()''에 의해 가까운 끝값으로 제한됩니다. 
-  * ''min''을 ''max''보다 크게 지정하면 출력 방향이 반전된다. +  * ''min''을 ''max''보다 크게 지정하면 출력 방향이 반전됩니다. 
-  * ''min''과 ''max''가 같으면 출력값은 ''0''이 된다. +  * ''min''과 ''max''가 같으면 출력값은 ''0''이 됩니다. 
-  * ''analogWriteInit()''이나 ''analogWriteFreq()''로 Timer TOP을 변경하면 실제 ''analogWrite()'' 출력 범위도 변경되므로, 16비트 ''0~65535'' 해상도를 유지하려면 기본 TOP ''65535''를 사용한다. +  * ''analogWriteInit()''이나 ''analogWriteFreq()''로 Timer TOP을 변경하면 실제 ''analogWrite()'' 출력 범위도 달라집니다. 16비트 ''0~65535'' 해상도를 유지하려면 기본 TOP ''65535''를 사용해야 합니다. 
-  * 출력 모듈의 딥스위치, 외부 전원, 배선과 연결 장비의 입력 사양을 일치시켜야 한다. +  * 출력 모듈의 딥스위치 설정·외부 전원·배선은 연결 장비의 입력 사양과 일치해야 합니다. 
-  * 같은 타이머를 사용하는 PWM, 펄스 출력 또는 카운터 명령어와 동시에 사용하지 않는다.+  * 같은 타이머를 사용하는 PWM·펄스 출력·카운터 명령어와 동시에 사용하지 않아야 합니다. 
 + 
 +===== 같은 카테고리의 내장 명령어 ===== 
 + 
 +  * [[commands:reference:analogwriteinit|analogWriteInit() 상세 설명 보기]] 
 +  * [[commands:reference:analogwritefreq|analogWriteFreq() 상세 설명 보기]] 
 +  * [[commands:reference:analogwritemax|analogWriteMax() 상세 설명 보기]] 
 +  * [[commands:reference:ianalogwriteinit|IanalogWriteInit() 상세 설명 보기]] 
 +  * [[commands:reference:ianalogwritef|IanalogWritef() 상세 설명 보기]]
  
 [[commands:builtin|← 내장 명령어 리스트]] [[commands:builtin|← 내장 명령어 리스트]]
  
commands/reference/ianalogwrite.1788260661.txt.gz · 마지막으로 수정됨: 저자 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki