사용자 도구

사이트 도구


commands:builtin

차이

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

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
commands:builtin [2026/08/31 23:54] – 바깥 편집 127.0.0.1commands:builtin [2026/10/25 11:33] (현재) – 바깥 편집 127.0.0.1
줄 1: 줄 1:
 ====== ILOGICS 내장 명령어 설명서 ====== ====== ILOGICS 내장 명령어 설명서 ======
  
-ILOGICS 보드에서는 ILOGICS에서 제작한 내장 명령어를 사용할 수 있습니다. 별도의 라이브러리 설치 없이 ILOGICS 보드를 선택하면 사용할 수 있습니다.+ILOGICS 보드를 선택하면 별도의 라이브러리 설치 없이 내장 명령어를 사용할 수 있습니다.
  
 ===== 내장 명령어를 사용하는 방법 ===== ===== 내장 명령어를 사용하는 방법 =====
  
-  - [[https://www.ilogics.net/ko-kr/resources/downloads/software/3|ILOGICS 보드 패키지]]를 설치합니다. (Arduino SDK) +  - [[https://www.ilogics.net/ko-kr/resources/downloads/software/3|ILOGICS 보드 패키지]]를 설치해주시기 바랍니다. (Arduino SDK) 
-  - Arduino IDE에서 **도구 → 보드**에서 사용하는 보드를 선택합니다. +  - Arduino IDE의 **도구 → 보드**에서 사용할 보드를 선택해주시기 바랍니다. 
-  - 내장 명령어를 사용합니다.+  - 아래에서 필요한 내장 명령어를 찾아 사용해주시기 바랍니다.
  
 ===== 내장 명령어 리스트 ===== ===== 내장 명령어 리스트 =====
 +
 +예제에 표시된 입출력 주소는 제품별로 다릅니다. 사용 중인 ILOGICS 제품의 보드를 선택하고 해당 제품의 핀맵에서 주소를 확인해주시기 바랍니다.
 +
 +**카테고리별 보기**
 +
 +  * [[commands:digital_filter|디지털 입력 필터]] · [[commands:edge_scale|에지 검출·범위 변환]] · [[commands:plc_timer|PLC 타이머]] · [[commands:callback_timer|콜백 타이머]]
 +  * [[commands:counter_buffer|카운터·데이터 버퍼]] · [[commands:high_speed_counter|고속카운터]] · [[commands:analog_input|아날로그 입력]] · [[commands:temperature|온도 입력]]
 +  * [[commands:analog_output_pwm|아날로그 출력·PWM]] · [[commands:pid|PID 제어]] · [[commands:display_rtc|표시장치·RTC]]
 +  * [[commands:debug_watchdog|디버그·Watchdog]] · [[commands:communication|통신]]
  
 ^ 카테고리 ^ 명령어 ^ 설명 ^ ^ 카테고리 ^ 명령어 ^ 설명 ^
-| 디지털 입력 필터 | [[commands:digital_filter|IdigitalRead()]] | 입력을 여러 번 읽어 짧은 노이즈를 줄입니다. | +| 디지털 입력 필터 | [[commands:reference:idigitalread|IdigitalRead()]] | 입력을 여러 번 연속으로 읽고, 모든 값이 같을 때만 상태를 갱신합니다. HIGH와 LOW가 섞이면 이전 안정 상태를 유지합니다. | 
-| ::: | [[commands:digital_filter|Ibounce()]] | 입력의 ON·OFF 양방향에 채터링 제거 시간을 적용합니다. | +| ::: | [[commands:ibounce|Ibounce()]] | 입력의 ON·OFF 양방향에 채터링 제거 시간을 적용합니다. | 
-| ::: | [[commands:digital_filter|IbounceOn()]] | 입력이 OFF에서 ON으로 바뀔 때만 시간 필터를 적용합니다. | +| ::: | [[commands:reference:ibounceon|IbounceOn()]] | 입력이 OFF에서 ON으로 바뀔 때만 시간 필터를 적용합니다. | 
-| ::: | [[commands:digital_filter|IbounceOff()]] | 입력이 ON에서 OFF로 바뀔 때만 시간 필터를 적용합니다. | +| ::: | [[commands:reference:ibounceoff|IbounceOff()]] | 입력이 ON에서 OFF로 바뀔 때만 시간 필터를 적용합니다. | 
-| 디지털 출력 초기화 | [[commands:digital_filter|digitalReset()]] | 코어가 관리하는 디지털 출력 상태를 초기화합니다. | +| 에지 검출 | [[commands:reference:iup|Iup()]] | 입력이 OFF에서 ON으로 바뀌는 순간에만 ''true''를 반환합니다. | 
-| 에지 검출 | [[commands:edge_scale|Iup()]] | 입력이 OFF에서 ON으로 바뀌는 순간에만 ''true''를 반환합니다. | +| ::: | [[commands:reference:idown|Idown()]] | 입력이 ON에서 OFF로 바뀌는 순간에만 ''true''를 반환합니다. | 
-| ::: | [[commands:edge_scale|Idown()]] | 입력이 ON에서 OFF로 바뀌는 순간에만 ''true''를 반환합니다. | +| 상태 반전 | [[commands:reference:ialt|Ialt()]] | 입력 상승 순간마다 지정한 상태를 ON·OFF로 반전합니다. | 
-| 상태 반전 | [[commands:edge_scale|Ialt()]] | 입력 상승 순간마다 지정한 상태를 ON·OFF로 반전합니다. | +| 범위 변환 | [[commands:reference:iscale|Iscale()]] | 정수 입력값을 지정한 정수 범위로 변환합니다. | 
-| 범위 변환 | [[commands:analog_input|Iscale()]] | 정수 입력값을 지정한 정수 범위로 변환합니다. | +| ::: | [[commands:reference:iscalef|Iscalef()]] | 실수 입력값을 지정한 실수 범위로 변환합니다. | 
-| ::: | [[commands:analog_input|Iscalef()]] | 실수 입력값을 지정한 실수 범위로 변환합니다. | +| 타이머 | [[commands:reference:iton|Iton()]] | 입력이 설정 시간 동안 ON 상태를 유지하면 ''true''를 반환합니다. | 
-| 타이머 | [[commands:plc_timer|Iton()]] | (On Delay Timer) 조건이 일정 시간 동안 ON이 되어야 ''true''를 반환합니다. | +| ::: | [[commands:reference:itof|Itof()]] | 입력이 OFF로 바뀌고 설정 시간이 지나면 ''false''를 반환합니다. | 
-| ::: | [[commands:plc_timer|Itof()]] | (Off Delay Timer) 조건이 OFF된 후 일정 시간이 지나면 ''false''를 반환합니다. | +| ::: | [[commands:reference:itpl|Itpl()]] | 입력이 ON으로 바뀌면 설정 시간 동안 ''true''를 반환합니다. | 
-| ::: | [[commands:plc_timer|Itpl()]] | (Pulse Timer) 조건이 ON되는 순간부터 설정 시간 동안 ''true''를 반환합니다. | +| ::: | [[commands:reference:itmon|Itmon()]] | 입력이 ON으로 바뀌면 설정 시간 동안 ''true''를 반환하며, 동작 중 재입력해도 시간이 연장되지 않습니다. | 
-| ::: | [[commands:plc_timer|Itmon()]] | (Monostable Timer) 동작 중 재입력되어도 시간이 연장되지 않는 펄스를 출력합니다. | +| ::: | [[commands:reference:itmr|Itmr()]] | 입력이 ON인 시간을 누적하고 ''reset'' 입력으로 누적 시간을 초기화합니다. | 
-| ::: | [[commands:plc_timer|Itmr()]] | (Retentive Timer) 조건이 ON인 시간을 누적하고 Reset 입력으로 초기화합니다. | +| 타이머 상태 | [[commands:reference:igettime|IgetTime()]] | 지정한 타이머의 현재 경과시간을 반환합니다. | 
-| 타이머 상태 | [[commands:plc_timer|IgetTime()]] | 지정한 타이머의 현재 경과시간을 반환합니다. | +| ::: | [[commands:reference:igetstate|IgetState()]] | 지정한 타이머의 현재 출력 상태를 반환합니다. | 
-| ::: | [[commands:plc_timer|IgetState()]] | 지정한 타이머의 현재 출력 상태를 반환합니다. | +| 콜백 타이머 | [[commands:reference:itimerset|ItimerSet()]] | 주기와 콜백 함수 또는 사용할 하드웨어 타이머를 설정합니다. | 
-| 콜백 타이머 | [[commands:callback_timer|ItimerSet()]] | 주기와 콜백 함수 또는 사용할 하드웨어 타이머를 설정합니다. | +| ::: | [[commands:reference:itimerstart|ItimerStart()]] | 설정한 콜백 타이머를 시작합니다. | 
-| ::: | [[commands:callback_timer|ItimerStart()]] | 설정한 콜백 타이머를 시작합니다. | +| ::: | [[commands:reference:itimerstop|ItimerStop()]] | 기본 또는 지정한 콜백 타이머를 정지합니다. | 
-| ::: | [[commands:callback_timer|ItimerStop()]] | 기본 또는 지정한 콜백 타이머를 정지합니다. | +| ::: | [[commands:reference:itimerstopall|ItimerStopAll()]] | 실행 중인 콜백 타이머를 모두 정지합니다. | 
-| ::: | [[commands:callback_timer|ItimerStopAll()]] | 실행 중인 콜백 타이머를 모두 정지합니다. | +| ::: | [[commands:reference:itimerstate|ItimerState()]] | 기본 또는 지정한 콜백 타이머의 실행 상태를 반환합니다. | 
-| ::: | [[commands:callback_timer|ItimerState()]] | 기본 또는 지정한 콜백 타이머의 실행 상태를 반환합니다. | +| 카운터 | [[commands:reference:ictu|Ictu()]] | 입력의 상승 횟수를 세고 설정값에 도달하면 ''true''를 반환합니다. | 
-| 카운터 | [[commands:counter_buffer|Ictu()]] | 입력의 상승 횟수를 세고 설정값에 도달하면 ''true''를 반환합니다. | +| ::: | [[commands:reference:ictd|Ictd()]] | 설정값을 불러온 후 입력 상승마다 현재값을 감소시킵니다. | 
-| ::: | [[commands:counter_buffer|Ictd()]] | 설정값을 불러온 후 입력 상승마다 현재값을 감소시킵니다. | +| ::: | [[commands:reference:ictud|Ictud()]] | 증가 입력과 감소 입력을 하나의 카운터에서 처리합니다. | 
-| ::: | [[commands:counter_buffer|Ictud()]] | 증가 입력과 감소 입력을 하나의 카운터에서 처리합니다. | +| ::: | [[commands:reference:igetcount|IgetCount()]] | 지정한 카운터의 현재값을 반환합니다. | 
-| ::: | [[commands:counter_buffer|IgetCount()]] | 지정한 카운터의 현재값을 반환합니다. | +| ::: | [[commands:reference:isetcount|IsetCount()]] | 지정한 카운터의 현재값을 변경합니다. | 
-| ::: | [[commands:counter_buffer|IsetCount()]] | 지정한 카운터의 현재값을 변경합니다. | +| ::: | [[commands:reference:ictuddownstate|IctudDownState()]] | Up/Down 카운터의 하한 완료 상태를 반환합니다. | 
-| ::: | [[commands:counter_buffer|IctudDownState()]] | Up/Down 카운터의 하한 완료 상태를 반환합니다. | +| 데이터 버퍼 | [[commands:reference:fifo|FIFO()]] | 저장한 순서대로 16비트 데이터를 꺼냅니다. | 
-| 데이터 버퍼 | [[commands:counter_buffer|FIFO()]] | 먼저 저장한 16비트 데이터를 먼저 출력합니다. | +| ::: | [[commands:reference:filo|FILO()]] | 나중에 저장한 16비트 데이터를 먼저 출력합니다. | 
-| ::: | [[commands:counter_buffer|FILO()]] | 나중에 저장한 16비트 데이터를 먼저 출력합니다. | +| 아날로그 입력 | [[commands:reference:analogreadinit|analogReadInit()]] | 아날로그 입력 모듈의 샘플링 속도를 설정합니다. | 
-| 아날로그 입력 | [[commands:analog_input|analogReadInit()]] | 아날로그 입력 모듈의 샘플링 속도를 설정합니다. | +| ::: | [[commands:reference:analogread|analogRead()]] | 지정한 채널의 원시 아날로그값을 읽습니다. | 
-| ::: | [[commands:analog_input|analogRead()]] | 지정한 채널의 원시 아날로그값을 읽습니다. | +| ::: | [[commands:reference:analogreadavg|analogReadAvg()]] | 여러 입력값의 정수 평균을 반환합니다. | 
-| ::: | [[commands:analog_input|analogReadAvg()]] | 여러 입력값의 정수 평균을 반환합니다. | +| ::: | [[commands:reference:analogreadavgf|analogReadAvgf()]] | 여러 입력값의 실수 평균을 반환합니다. | 
-| ::: | [[commands:analog_input|analogReadAvgf()]] | 여러 입력값의 실수 평균을 반환합니다. | +| 아날로그 입력 필터 | [[commands:reference:ianalogfilter|IanalogFilter()]] | 전달한 값을 이동평균 방식으로 처리합니다. | 
-| 아날로그 입력 필터 | [[commands:analog_input|IanalogFilter()]] | 전달한 값을 이동평균 방식으로 처리합니다. | +| 아날로그 범위 변환 | [[commands:reference:ianalogread|IanalogRead()]] | 아날로그 입력값을 지정한 정수 범위로 변환합니다. | 
-| 아날로그 범위 변환 | [[commands:analog_input|IanalogRead()]] | 아날로그 입력값을 지정한 정수 범위로 변환합니다. | +| ::: | [[commands:reference:ianalogreadf|IanalogReadf()]] | 아날로그 입력값을 지정한 실수 범위로 변환합니다. | 
-| ::: | [[commands:analog_input|IanalogReadf()]] | 아날로그 입력값을 지정한 실수 범위로 변환합니다. | +| 4~20mA 입력 | [[commands:reference:analogread2|analogRead2()]] | 지정한 채널의 4~20mA 보정 입력값을 읽습니다. | 
-| 4~20mA 입력 | [[commands:analog_input|analogRead2()]] | 지정한 채널의 4~20mA 보정 입력값을 읽습니다. | +| ::: | [[commands:reference:analogread2avg|analogRead2Avg()]] | 4~20mA 입력값의 정수 평균을 반환합니다. | 
-| ::: | [[commands:analog_input|analogRead2Avg()]] | 4~20mA 입력값의 정수 평균을 반환합니다. | +| ::: | [[commands:reference:analogread2avgf|analogRead2Avgf()]] | 4~20mA 입력값의 실수 평균을 반환합니다. | 
-| ::: | [[commands:analog_input|analogRead2Avgf()]] | 4~20mA 입력값의 실수 평균을 반환합니다. | +| 4~20mA 범위 변환 | [[commands:reference:ianalogread2|IanalogRead2()]] | 4~20mA 입력값을 지정한 정수 범위로 변환합니다. | 
-| 4~20mA 범위 변환 | [[commands:analog_input|IanalogRead2()]] | 4~20mA 입력값을 지정한 정수 범위로 변환합니다. | +| ::: | [[commands:reference:ianalogread2f|IanalogRead2f()]] | 4~20mA 입력값을 지정한 실수 범위로 변환합니다. | 
-| ::: | [[commands:analog_input|IanalogRead2f()]] | 4~20mA 입력값을 지정한 실수 범위로 변환합니다. | +| 온도 입력 | [[commands:reference:ntcread|ntcRead()]] | NTC 3950 10kΩ 센서의 온도를 0.1℃ 단위 정수로 반환합니다. | 
-| 온도 입력 | [[commands:temperature|ntcRead()]] | NTC 3950 10kΩ 센서의 온도를 0.1℃ 단위 정수로 반환합니다. | +| ::: | [[commands:reference:ntcreadf|ntcReadf()]] | NTC 3950 10kΩ 센서의 온도를 ℃ 단위 실수로 반환합니다. | 
-| ::: | [[commands:temperature|ntcReadf()]] | NTC 3950 10kΩ 센서의 온도를 ℃ 단위 실수로 반환합니다. | +| ::: | [[commands:reference:pt100read|pt100Read()]] | PT100 센서의 온도를 0.1℃ 단위 정수로 반환합니다. | 
-| ::: | [[commands:temperature|pt100Read()]] | PT100 센서의 온도를 0.1℃ 단위 정수로 반환합니다. | +| 아날로그 출력 | [[commands:reference:analogwriteinit|analogWriteInit()]] | 출력 타이머의 분해능과 분주비를 설정합니다. | 
-| 아날로그 출력 | [[commands:analog_output_pwm|analogWriteInit()]] | 출력 타이머의 분해능과 분주비를 설정합니다. | +| ::: | [[commands:reference:analogwritefreq|analogWriteFreq()]] | 지정한 출력 채널의 PWM 주파수를 설정합니다. | 
-| ::: | [[commands:analog_output_pwm|analogWriteFreq()]] | 지정한 출력 채널의 PWM 주파수를 설정합니다. | +| ::: | [[commands:reference:analogwritemax|analogWriteMax()]] | 지정한 출력 채널에서 사용할 수 있는 최댓값을 반환합니다. | 
-| ::: | [[commands:analog_output_pwm|analogWriteMax()]] | 지정한 출력 채널에서 사용할 수 있는 최댓값을 반환합니다. | +| ::: | [[commands:reference:ianalogwriteinit|IanalogWriteInit()]] | MPAINO 아날로그 출력의 최댓값·최솟값과 모드를 설정합니다. | 
-| ::: | [[commands:analog_output_pwm|IanalogWriteInit()]] | MPAINO 아날로그 출력의 최댓값·최솟값과 모드를 설정합니다. | +| ::: | [[commands:reference:ianalogwrite|IanalogWrite()]] | 사용자 정수값을 아날로그 출력 범위로 변환하여 출력합니다. | 
-| ::: | [[commands:analog_output_pwm|IanalogWrite()]] | 사용자 정수값을 아날로그 출력 범위로 변환하여 출력합니다. | +| ::: | [[commands:reference:ianalogwritef|IanalogWritef()]] | 사용자 실수값을 아날로그 출력 범위로 변환하여 출력합니다. | 
-| ::: | [[commands:analog_output_pwm|IanalogWritef()]] | 사용자 실수값을 아날로그 출력 범위로 변환하여 출력합니다. | +| 4~20mA 출력 | [[commands:reference:analogwrite2|analogWrite2()]] | 지정한 채널에 4~20mA 변환용 원시값을 출력합니다. | 
-| 4~20mA 출력 | [[commands:analog_output_pwm|analogWrite2()]] | 지정한 채널에 4~20mA 변환용 원시값을 출력합니다. | +| ::: | [[commands:reference:ianalogwrite2|IanalogWrite2()]] | 사용자 정수값을 4~20mA 출력 범위로 변환합니다. | 
-| ::: | [[commands:analog_output_pwm|IanalogWrite2()]] | 사용자 정수값을 4~20mA 출력 범위로 변환합니다. | +| ::: | [[commands:reference:ianalogwrite2f|IanalogWrite2f()]] | 사용자 실수값을 4~20mA 출력 범위로 변환합니다. | 
-| ::: | [[commands:analog_output_pwm|IanalogWrite2f()]] | 사용자 실수값을 4~20mA 출력 범위로 변환합니다. | +| PWM 출력 | [[commands:reference:pwm|PWM()]] | 지정한 핀에 8비트 또는 16비트 PWM을 출력합니다. | 
-| PWM 출력 | [[commands:analog_output_pwm|PWM()]] | 지정한 핀에 8비트 또는 16비트 PWM을 출력합니다. | +| ::: | [[commands:reference:fdpwm|FDPWM()]] | 주파수와 Duty 비율을 지정하여 PWM을 출력합니다. | 
-| ::: | [[commands:analog_output_pwm|FDPWM()]] | 주파수와 Duty 비율을 지정하여 PWM을 출력합니다. | +| ::: | [[commands:reference:pwmoff|PWMOFF()]] | 지정한 핀의 PWM 출력을 정지하거나 다시 허용합니다. | 
-| ::: | [[commands:analog_output_pwm|PWMOFF()]] | 지정한 핀의 PWM 출력을 정지하거나 다시 허용합니다. | +| ::: | [[commands:reference:pwm_reset|PWM_RESET()]] | 코어가 관리하는 PWM 상태를 모두 초기화합니다. | 
-| ::: | [[commands:analog_output_pwm|PWM_RESET()]] | 코어가 관리하는 PWM 상태를 모두 초기화합니다. | +| 펄스 출력 | [[commands:reference:npwm_begin|NPWM_BEGIN()]] | 주파수·Duty·출력 개수를 지정하여 펄스 출력을 준비합니다. | 
-| 펄스 출력 | [[commands:analog_output_pwm|NPWM_BEGIN()]] | 주파수·Duty·출력 개수를 지정하여 펄스 출력을 준비합니다. | +| ::: | [[commands:reference:npwm|NPWM()]] | 준비한 개수만큼 펄스를 출력합니다. | 
-| ::: | [[commands:analog_output_pwm|NPWM()]] | 준비한 개수만큼 펄스를 출력합니다. | +| PID 제어 | [[commands:reference:ipidset|IpidSet()]] | PID 계수, 계산 주기와 출력 범위를 설정합니다. | 
-| PID 제어 | [[commands:pid|IpidSet()]] | PID 계수, 계산 주기와 출력 범위를 설정합니다. | +| ::: | [[commands:reference:ipidrun|IpidRun()]] | 현재값과 설정값을 사용해 PID 출력을 계산합니다. | 
-| ::: | [[commands:pid|IpidRun()]] | 현재값과 설정값을 사용해 PID 출력을 계산합니다. | +| ::: | [[commands:reference:ipidreset|IpidReset()]] | PID의 적분값과 내부 상태를 초기화합니다. | 
-| ::: | [[commands:pid|IpidReset()]] | PID의 적분값과 내부 상태를 초기화합니다. | +| ::: | [[commands:reference:ipidreverse|IpidReverse()]] | PID의 정동작 또는 역동작을 선택합니다. | 
-| ::: | [[commands:pid|IpidReverse()]] | PID의 정동작 또는 역동작을 선택합니다. | +| ::: | [[commands:reference:ipiditermlimit|IpidItermLimit()]] | PID 적분항의 최솟값과 최댓값을 제한합니다. | 
-| ::: | [[commands:pid|IpidItermLimit()]] | PID 적분항의 최솟값과 최댓값을 제한합니다. | +| ::: | [[commands:reference:ipidoutput|IpidOutput()]] | 마지막으로 계산된 PID 출력값을 반환합니다. | 
-| ::: | [[commands:pid|IpidOutput()]] | 마지막으로 계산된 PID 출력값을 반환합니다. | +| 7세그먼트 FND(TM1637 I.C) | [[commands:reference:isegbegin|IsegBegin()]] | TM1637 FND의 CLK·DIO 핀과 장치 번호를 설정합니다. | 
-| TM1637 FND | [[commands:display_rtc|IsegBegin()]] | TM1637 FND의 CLK·DIO 핀과 장치 번호를 설정합니다. | +| ::: | [[commands:reference:isegbrightness|IsegBrightness()]] | 화면 밝기와 표시 상태를 설정합니다. | 
-| ::: | [[commands:display_rtc|IsegBrightness()]] | 화면 밝기와 표시 상태를 설정합니다. | +| ::: | [[commands:reference:isegclear|IsegClear()]] | FND 화면을 지웁니다. | 
-| ::: | [[commands:display_rtc|IsegClear()]] | FND 화면을 지웁니다. | +| ::: | [[commands:reference:isegwrite|IsegWrite()]] | 세그먼트 데이터를 지정 위치에 출력합니다. | 
-| ::: | [[commands:display_rtc|IsegWrite()]] | 세그먼트 데이터를 지정 위치에 출력합니다. | +| ::: | [[commands:reference:isegdecimal|IsegDecimal()]] | 정수를 10진수 형식으로 표시합니다. | 
-| ::: | [[commands:display_rtc|IsegDecimal()]] | 정수를 10진수 형식으로 표시합니다. | +| ::: | [[commands:reference:iseghex|IsegHex()]] | 정수를 16진수 형식으로 표시합니다. | 
-| ::: | [[commands:display_rtc|IsegHex()]] | 정수를 16진수 형식으로 표시합니다. | +| ::: | [[commands:reference:isegencodedigit|IsegEncodeDigit()]] | 숫자 한 자리를 세그먼트 데이터로 변환합니다. | 
-| ::: | [[commands:display_rtc|IsegEncodeDigit()]] | 숫자 한 자리를 세그먼트 데이터로 변환합니다. | +| CHARACTER LCD 사용설명서 | [[commands:reference:iclcdbegin|IclcdBegin()]] | PCF8574 문자 LCD의 주소와 화면 크기를 설정합니다. | 
-| 문자 LCD | [[commands:display_rtc|IclcdBegin()]] | PCF8574 문자 LCD의 주소와 화면 크기를 설정합니다. | +| ::: | [[commands:reference:iclcdclear|IclcdClear()]] | LCD 화면을 지웁니다. | 
-| ::: | [[commands:display_rtc|IclcdClear()]] | LCD 화면을 지웁니다. | +| ::: | [[commands:reference:iclcdhome|IclcdHome()]] | 커서를 첫 번째 위치로 이동합니다. | 
-| ::: | [[commands:display_rtc|IclcdHome()]] | 커서를 첫 번째 위치로 이동합니다. | +| ::: | [[commands:reference:iclcdsetcursor|IclcdSetCursor()]] | 커서를 지정한 열과 행으로 이동합니다. | 
-| ::: | [[commands:display_rtc|IclcdSetCursor()]] | 커서를 지정한 열과 행으로 이동합니다. | +| ::: | [[commands:reference:iclcddisplay|IclcdDisplay()]] | LCD 표시를 켜거나 끕니다. | 
-| ::: | [[commands:display_rtc|IclcdDisplay()]] | LCD 표시를 켜거나 끕니다. | +| ::: | [[commands:reference:iclcdcursor|IclcdCursor()]] | 커서 표시를 켜거나 끕니다. | 
-| ::: | [[commands:display_rtc|IclcdCursor()]] | 커서 표시를 켜거나 끕니다. | +| ::: | [[commands:reference:iclcdblink|IclcdBlink()]] | 커서 깜박임을 켜거나 끕니다. | 
-| ::: | [[commands:display_rtc|IclcdBlink()]] | 커서 깜박임을 켜거나 끕니다. | +| ::: | [[commands:reference:iclcdbacklight|IclcdBacklight()]] | LCD 백라이트를 켜거나 끕니다. | 
-| ::: | [[commands:display_rtc|IclcdBacklight()]] | LCD 백라이트를 켜거나 끕니다. | +| ::: | [[commands:reference:iclcdscrollleft|IclcdScrollLeft()]] | 표시 내용을 왼쪽으로 한 칸 이동합니다. | 
-| ::: | [[commands:display_rtc|IclcdScrollLeft()]] | 표시 내용을 왼쪽으로 한 칸 이동합니다. | +| ::: | [[commands:reference:iclcdscrollright|IclcdScrollRight()]] | 표시 내용을 오른쪽으로 한 칸 이동합니다. | 
-| ::: | [[commands:display_rtc|IclcdScrollRight()]] | 표시 내용을 오른쪽으로 한 칸 이동합니다. | +| ::: | [[commands:reference:iclcdtextdirection|IclcdTextDirection()]] | 문자가 입력되는 방향을 설정합니다. | 
-| ::: | [[commands:display_rtc|IclcdTextDirection()]] | 문자가 입력되는 방향을 설정합니다. | +| ::: | [[commands:reference:iclcdautoscroll|IclcdAutoscroll()]] | 자동 스크롤을 켜거나 끕니다. | 
-| ::: | [[commands:display_rtc|IclcdAutoscroll()]] | 자동 스크롤을 켜거나 끕니다. | +| ::: | [[commands:reference:iclcdcreatechar|IclcdCreateChar()]] | 사용자 정의 문자를 등록합니다. | 
-| ::: | [[commands:display_rtc|IclcdCreateChar()]] | 사용자 정의 문자를 등록합니다. | +| ::: | [[commands:reference:iclcdwrite|IclcdWrite()]] | 문자 코드 또는 사용자 정의 문자를 출력합니다. | 
-| ::: | [[commands:display_rtc|IclcdWrite()]] | 문자 코드 또는 사용자 정의 문자를 출력합니다. | +| ::: | [[commands:reference:iclcdcommand|IclcdCommand()]] | LCD 제어 명령을 직접 전송합니다. | 
-| ::: | [[commands:display_rtc|IclcdCommand()]] | LCD 제어 명령을 직접 전송합니다. | +| ::: | [[commands:reference:iclcdprint|IclcdPrint()]] | 문자열 또는 숫자를 LCD에 출력합니다. | 
-| ::: | [[commands:display_rtc|IclcdPrint()]] | 문자열 또는 숫자를 LCD에 출력합니다. | +| RTC | [[commands:reference:irtcbegin|IrtcBegin()]] | DS3231 RTC 연결을 확인하고 사용을 시작합니다. | 
-| RTC | [[commands:display_rtc|IrtcBegin()]] | DS3231 RTC 연결을 확인하고 사용을 시작합니다. | +| ::: | [[commands:reference:irtcread|IrtcRead()]] | RTC의 날짜와 시간을 읽습니다. | 
-| ::: | [[commands:display_rtc|IrtcRead()]] | RTC의 날짜와 시간을 읽습니다. | +| ::: | [[commands:reference:irtcset|IrtcSet()]] | RTC의 날짜와 시간을 설정합니다. | 
-| ::: | [[commands:display_rtc|IrtcSet()]] | RTC의 날짜와 시간을 설정합니다. | +| ::: | [[commands:reference:irtcunixtime|IrtcUnixTime()]] | 현재 시간을 Unix 시간으로 반환합니다. | 
-| ::: | [[commands:display_rtc|IrtcUnixTime()]] | 현재 시간을 Unix 시간으로 반환합니다. | +| ::: | [[commands:reference:irtcgettemperature|IrtcGetTemperature()]] | RTC 내부 온도를 반환합니다. | 
-| ::: | [[commands:display_rtc|IrtcGetTemperature()]] | RTC 내부 온도를 반환합니다. | +| ::: | [[commands:reference:irtctimevalid|IrtcTimeValid()]] | RTC 시간이 신뢰 가능한 상태인지 확인합니다. | 
-| ::: | [[commands:display_rtc|IrtcTimeValid()]] | RTC 시간이 신뢰 가능한 상태인지 확인합니다. | +| ::: | [[commands:reference:irtcclearoscillatorstopflag|IrtcClearOscillatorStopFlag()]] | 발진 정지 상태 표시를 초기화합니다. | 
-| ::: | [[commands:display_rtc|IrtcClearOscillatorStopFlag()]] | 발진 정지 상태 표시를 초기화합니다. | +| ::: | [[commands:reference:irtcsetalarm1|IrtcSetAlarm1()]] | 초 단위를 포함하는 알람 1을 설정합니다. | 
-| ::: | [[commands:display_rtc|IrtcSetAlarm1()]] | 초 단위를 포함하는 알람 1을 설정합니다. | +| ::: | [[commands:reference:irtcsetalarm2|IrtcSetAlarm2()]] | 분 단위의 알람 2를 설정합니다. | 
-| ::: | [[commands:display_rtc|IrtcSetAlarm2()]] | 분 단위의 알람 2를 설정합니다. | +| ::: | [[commands:reference:irtcalarmenable|IrtcAlarmEnable()]] | 지정한 알람을 켜거나 끕니다. | 
-| ::: | [[commands:display_rtc|IrtcAlarmEnable()]] | 지정한 알람을 켜거나 끕니다. | +| ::: | [[commands:reference:irtcalarmenabled|IrtcAlarmEnabled()]] | 지정한 알람의 활성 상태를 확인합니다. | 
-| ::: | [[commands:display_rtc|IrtcAlarmEnabled()]] | 지정한 알람의 활성 상태를 확인합니다. | +| ::: | [[commands:reference:irtcalarmtriggered|IrtcAlarmTriggered()]] | 알람 발생 여부를 확인하고 필요하면 상태를 지웁니다. | 
-| ::: | [[commands:display_rtc|IrtcAlarmTriggered()]] | 알람 발생 여부를 확인하고 필요하면 상태를 지웁니다. | +| ::: | [[commands:reference:irtcsquarewave|IrtcSquareWave()]] | RTC의 사각파 출력을 설정합니다. | 
-| ::: | [[commands:display_rtc|IrtcSquareWave()]] | RTC의 사각파 출력을 설정합니다. | +| ::: | [[commands:reference:irtc32khz|Irtc32kHz()]] | RTC의 32kHz 출력을 켜거나 끕니다. | 
-| ::: | [[commands:display_rtc|Irtc32kHz()]] | RTC의 32kHz 출력을 켜거나 끕니다. | +| 디버그 | [[commands:reference:debugstart|debugStart()]] | 디버그 출력에 사용할 포트와 보레이트를 설정합니다. | 
-| 디버그 | [[commands:debug_watchdog|debugStart()]] | 디버그 출력에 사용할 포트와 보레이트를 설정합니다. | +| ::: | [[commands:reference:debugstop|debugStop()]] | 디버그 출력을 중지합니다. | 
-| ::: | [[commands:debug_watchdog|debugStop()]] | 디버그 출력을 중지합니다. | +| ::: | [[commands:reference:debugstate|debugState()]] | 디버그 출력의 활성 상태를 반환합니다. | 
-| ::: | [[commands:debug_watchdog|debugState()]] | 디버그 출력의 활성 상태를 반환합니다. | +| ::: | [[commands:reference:debug|debug()]] | 디버그가 활성화된 경우에만 값을 출력합니다. | 
-| ::: | [[commands:debug_watchdog|debug()]] | 디버그가 활성화된 경우에만 값을 출력합니다. | +| ::: | [[commands:reference:debugln|debugln()]] | 디버그 값을 출력한 뒤 줄을 바꿉니다. | 
-| ::: | [[commands:debug_watchdog|debugln()]] | 디버그 값을 출력한 뒤 줄을 바꿉니다. | +| Watchdog | [[commands:reference:wdt_enable|WDT_ENABLE()]] | Watchdog 제한시간을 설정하고 동작을 시작합니다. | 
-| Watchdog | [[commands:debug_watchdog|WDT_ENABLE()]] | Watchdog 제한시간을 설정하고 동작을 시작합니다. | +| ::: | [[commands:reference:wdt_disable|WDT_DISABLE()]] | Watchdog 동작을 중지합니다. | 
-| ::: | [[commands:debug_watchdog|WDT_DISABLE()]] | Watchdog 동작을 중지합니다. | +| ::: | [[commands:reference:wdt|WDT()]] | 제한시간이 끝나기 전에 Watchdog를 갱신합니다. | 
-| ::: | [[commands:debug_watchdog|WDT()]] | 제한시간이 끝나기 전에 Watchdog를 갱신합니다. | +| 고속카운터 | [[commands:reference:tcntsetup|TCNTSETUP()]] | 타이머 외부 클럭 입력과 32비트 확장 모드를 설정합니다. | 
-| 고속카운터 | [[commands:high_speed_counter|TCNTSETUP()]] | 타이머 외부 클럭 입력과 32비트 확장 모드를 설정합니다. | +| ::: | [[commands:reference:tcntout|TCNTOUT()]] | 32비트 확장 모드의 누적 상위 오버플로 값을 반환합니다. | 
-| ::: | [[commands:high_speed_counter|TCNTOUT()]] | 32비트 확장 모드의 누적 상위 오버플로 값을 반환합니다. | +| Modbus RTU Slave | [[commands:reference:imodbusrtumem|ImodbusRTUMem()]] | Slave가 사용할 M·D 메모리 크기를 설정합니다. | 
-| Modbus RTU Slave | [[commands:communication|ImodbusRTUMem()]] | Slave가 사용할 M·D 메모리 크기를 설정합니다. | +| ::: | [[commands:reference:imodbusrtuadr|ImodbusRTUAdr()]] | M·D 메모리의 시작 주소를 설정합니다. | 
-| ::: | [[commands:communication|ImodbusRTUAdr()]] | M·D 메모리의 시작 주소를 설정합니다. | +| ::: | [[commands:reference:imodbusrtuinit|ImodbusRTUInit()]] | 통신 포트, 국번과 보레이트를 설정합니다. | 
-| ::: | [[commands:communication|ImodbusRTUInit()]] | 통신 포트, 국번과 보레이트를 설정합니다. | +| ::: | [[commands:reference:imodbusrtu|ImodbusRTU()]] | 수신 요청을 확인하고 Slave 응답을 처리합니다. | 
-| ::: | [[commands:communication|ImodbusRTU()]] | 수신 요청을 확인하고 Slave 응답을 처리합니다. | +| Modbus RTU Master | [[commands:reference:imodbusrtumasterinit|ImodbusRTUmasterInit()]] | Master 통신 포트와 보레이트를 설정합니다. | 
-| Modbus RTU Master | [[commands:communication|ImodbusRTUmasterInit()]] | Master 통신 포트와 보레이트를 설정합니다. | +| ::: | [[commands:reference:imodbusrtumaster|ImodbusRTUmaster()]] | 하나의 Master 요청을 즉시 실행합니다. | 
-| ::: | [[commands:communication|ImodbusRTUmaster()]] | 하나의 Master 요청을 즉시 실행합니다. | +| ::: | [[commands:reference:imodbusrtumasteradd|ImodbusRTUmasterAdd()]] | 반복 실행할 Master 요청을 등록합니다. | 
-| ::: | [[commands:communication|ImodbusRTUmasterAdd()]] | 반복 실행할 Master 요청을 등록합니다. | +| ::: | [[commands:reference:imodbusrtumasterrun|ImodbusRTUmasterRun()]] | 등록 요청 또는 지정한 단일 요청을 실행합니다. | 
-| ::: | [[commands:communication|ImodbusRTUmasterRun()]] | 등록 요청 또는 지정한 단일 요청을 실행합니다. | +| LS산전 Cnet Slave | [[commands:reference:icnetmem|ICnetMem()]] | Cnet Slave가 사용할 M·D·R 메모리 크기를 설정합니다. | 
-| LS산전 Cnet Slave | [[commands:communication|ICnetMem()]] | Cnet Slave가 사용할 M·D·R 메모리 크기를 설정합니다. | +| ::: | [[commands:reference:icnetadr|ICnetAdr()]] | M·D·R 메모리의 시작 주소를 설정합니다. | 
-| ::: | [[commands:communication|ICnetAdr()]] | M·D·R 메모리의 시작 주소를 설정합니다. | +| ::: | [[commands:reference:icnetinit|ICnetInit()]] | 통신 포트, 국번과 보레이트를 설정합니다. | 
-| ::: | [[commands:communication|ICnetInit()]] | 통신 포트, 국번과 보레이트를 설정합니다. | +| ::: | [[commands:reference:icnet|ICnet()]] | 수신 요청을 확인하고 Cnet Slave 응답을 처리합니다. | 
-| ::: | [[commands:communication|ICnet()]] | 수신 요청을 확인하고 Cnet Slave 응답을 처리합니다. | +| Mitsubishi MC Protocol | [[commands:reference:imcmem|IMcMem()]] | MC Protocol에서 사용할 X·Y·M·D 메모리 크기를 설정합니다. | 
-| Mitsubishi MC Protocol | [[commands:communication|IMcMem()]] | MC Protocol에서 사용할 X·Y·M·D 메모리 크기를 설정합니다. | +| ::: | [[commands:reference:imcadr|IMcAdr()]] | X·Y·M·D 메모리의 시작 주소를 설정합니다. | 
-| ::: | [[commands:communication|IMcAdr()]] | X·Y·M·D 메모리의 시작 주소를 설정합니다. | +| ::: | [[commands:reference:imcinit|IMcInit()]] | 통신 포트, 국번과 보레이트를 설정합니다. | 
-| ::: | [[commands:communication|IMcInit()]] | 통신 포트, 국번과 보레이트를 설정합니다. | +| ::: | [[commands:reference:imcprotocol|IMcProtocol()]] | 수신 요청을 확인하고 MC Protocol 응답을 처리합니다. |
-| ::: | [[commands:communication|IMcProtocol()]] | 수신 요청을 확인하고 MC Protocol 응답을 처리합니다. |+
  
-===== 기본 제어 명령어 =====+===== 디지털 입력 필터 ===== 
 + 
 +^ 명령어 형식 ^ 반환값 ^ 사용 기준 ^ 
 +| [[commands:reference:idigitalread|IdigitalRead(pin, samples)]] | 필터링된 ''HIGH'' 또는 ''LOW'' | 모든 샘플이 같을 때만 상태를 갱신하고, 값이 섞이면 이전 안정 상태를 유지 | 
 +| [[commands:ibounce|Ibounce(pin, ms)]] | 안정화된 입력 상태 | ON과 OFF가 설정 시간 동안 유지될 때 상태 변경 | 
 +| [[commands:reference:ibounceon|IbounceOn(pin, ms)]] | ON 방향이 지연된 입력 상태 | OFF→ON 방향만 시간 필터 적용 | 
 +| [[commands:reference:ibounceoff|IbounceOff(pin, ms)]] | OFF 방향이 지연된 입력 상태 | ON→OFF 방향만 시간 필터 적용 | 
 + 
 +''IdigitalRead()''는 짧은 시간 동안 반복 샘플링하는 방식이고, ''Ibounce()''는 ''millis()'' 기준으로 입력이 안정된 시간을 확인하는 방식입니다. 기계식 스위치에는 보통 ''Ibounce()''가 알맞습니다. 
 + 
 +===== 에지 검출 =====
  
 ^ 명령어 형식 ^ 반환값 ^ 설명 ^ ^ 명령어 형식 ^ 반환값 ^ 설명 ^
-| ''Iup(id, input)'' | 상승 순간에만 ''true'' | OFF에서 ON으로 바뀌는 순간을 한 번 검출 | +| [[commands:reference:iup|Iup(id, input)]] | 상승 순간에만 ''true'' | OFF에서 ON으로 바뀌는 순간을 한 번 검출 | 
-| ''Idown(id, input)'' | 하강 순간에만 ''true'' | ON에서 OFF로 바뀌는 순간을 한 번 검출 | +| [[commands:reference:idown|Idown(id, input)]] | 하강 순간에만 ''true'' | ON에서 OFF로 바뀌는 순간을 한 번 검출 |
-| ''Ialt(input, state)'' | 없음 | 입력 상승 순간마다 ''state'' 값을 ON/OFF 반전 | +
-| ''Iscale(x, inMin, inMax, outMin, outMax)'' | ''int32_t'' | 정수 입력 범위를 원하는 정수 범위로 변환 | +
-| ''Iscalef(x, inMin, inMax, outMin, outMax)'' | ''float'' | 소수점을 유지하여 실수 범위 변환 |+
  
-''Iup()''과 ''Idown()''의 ''id''는 각 에지 검출 상태를 구분합니다. 서로 다른 입력에 같은 ''id''를 사용하면 상태가 섞일 수 있습니다.+''id''는 각 에지 검출 상태를 구분합니다. 서로 다른 입력에 같은 ''id''를 사용하면 상태가 섞일 수 있습니다. 
 + 
 +===== 상태 반전 ===== 
 + 
 +^ 명령어 형식 ^ 반환값 ^ 설명 ^ 
 +| [[commands:reference:ialt|Ialt(input, state)]] | 없음 | 입력 상승 순간마다 ''state'' 값을 ON/OFF 반전 | 
 + 
 +다음 예제는 MPAINO-8A8R(T)의 첫 입력 ''0''과 첫 출력 ''64''를 사용합니다.
  
 <code cpp> <code cpp>
 bool lampState = false; bool lampState = false;
 +
 +void setup() {}
  
 void loop() { void loop() {
줄 163: 줄 187:
 </code> </code>
  
-===== 디지털 입력과 노이즈 필터 =====+===== 범위 변환 =====
  
-^ 명령어 형식 ^ 반환값 ^ 사용 기준 ^ +^ 명령어 형식 ^ 반환값 ^ 설명 ^ 
-| ''IdigitalRead(pin, samples)'' | 필터링된 ''HIGH'' 또는 ''LOW'' | 입력을 여러 번 즉시 읽어 짧은 노이즈를 줄임 | +| [[commands:reference:iscale|Iscale(x, inMin, inMax, outMin, outMax)]] | ''int32_t'' | 정수 입력 범위를 원하는 정수 범위로 변환 | 
-| ''Ibounce(pin, ms)'' | 안정화된 입력 상태 | ON과 OFF가 설정 시간 동안 유지될 때 상태 변경 | +| [[commands:reference:iscalef|Iscalef(x, inMin, inMax, outMin, outMax)]] | ''float'' | 소수점을 유지하여 실수 범위 변환 |
-| ''IbounceOn(pin, ms)'' | ON 방향이 지연된 입력 상태 | OFF→ON 방향만 시간 필터 적용 | +
-| ''IbounceOff(pin, ms)'' | OFF 방향이 지연된 입력 상태 | ON→OFF 방향만 시간 필터 적용 | +
-| ''digitalReset()'' | 없음 | 코어가 관리하는 디지털 출력 상태 초기화 |+
  
-''IdigitalRead()''는 짧은 시간 동안 반복 샘플링하는 방식이고, ''Ibounce()''는 ''millis()'' 기준으로 입력이 안정된 시간을 확인하는 방식입니다. 기계식 스위치에는 보통 ''Ibounce()''가 알맞습니다. +===== 타이머 =====
- +
-===== PLC 스타일 타이머 =====+
  
 ^ 명령어 형식 ^ 동작 ^ ^ 명령어 형식 ^ 동작 ^
-| ''Iton(id, state, ms)'' | 입력이 설정 시간 동안 ON이면 출력 ON | +| [[commands:reference:iton|Iton(id, state, ms)]] | 입력이 설정 시간 동안 ON이면 출력 ON | 
-| ''Itof(id, state, ms)'' | 입력이 OFF된 뒤 설정 시간이 지나면 출력 OFF | +| [[commands:reference:itof|Itof(id, state, ms)]] | 입력이 OFF된 뒤 설정 시간이 지나면 출력 OFF | 
-| ''Itpl(id, state, ms)'' | 입력 상승 순간부터 설정 시간 동안 펄스 출력 | +| [[commands:reference:itpl|Itpl(id, state, ms)]] | 입력 상승 순간부터 설정 시간 동안 펄스 출력 | 
-| ''Itmon(id, state, ms)'' | 실행 중 다시 입력되어도 연장되지 않는 단안정 펄스 | +| [[commands:reference:itmon|Itmon(id, state, ms)]] | 실행 중 다시 입력되어도 연장되지 않는 단안정 펄스 | 
-| ''Itmr(id, state, ms, reset)'' | 입력 ON 시간을 누적하며 ''reset''으로 초기화 | +| [[commands:reference:itmr|Itmr(id, state, ms, reset)]] | 입력 ON 시간을 누적하며 ''reset''으로 초기화 |
-| ''IgetTime(id)'', ''IgetState(id)'' | 경과시간과 출력 상태 확인 |+
  
-PLC 스타일 타이머는 ''delay()''처럼 프로그램을 멈추지 않습니다. 대신 ''loop()''가 반복될 때마다 계속 호출해야 합니다. 같은 ''id''를 서로 다른 타이머에 중복 사용하지 마십시오.+PLC 스타일 타이머는 ''delay()''처럼 프로그램을 멈추지 않습니다. 대신 ''loop()''가 반복될 때마다 계속 호출해야 합니다. 같은 ''id''를 서로 다른 타이머에 중복해서 사용하지 않아야 합니다. 
 + 
 +다음 예제는 MPAINO-8A8R(T)의 첫 입력 ''0''과 첫 출력 ''64''를 사용합니다.
  
 <code cpp> <code cpp>
 +void setup() {}
 +
 void loop() { void loop() {
   bool run = Ibounce(0, 30);   bool run = Ibounce(0, 30);
줄 194: 줄 216:
 </code> </code>
  
-===== 주기 콜백 타이머 =====+===== 타이머 상태 ===== 
 + 
 +^ 명령어 형식 ^ 반환값 ^ 설명 ^ 
 +| [[commands:reference:igettime|IgetTime(id)]] | ''unsigned long'' | 지정한 타이머의 현재 경과시간 반환 | 
 +| [[commands:reference:igetstate|IgetState(id)]] | ''bool'' | 지정한 타이머의 현재 출력 상태 반환 | 
 + 
 +===== 콜백 타이머 =====
  
 ^ 명령어 형식 ^ 설명 ^ ^ 명령어 형식 ^ 설명 ^
-| ''ItimerSet(intervalMs, callback)'' | 기본 타이머의 실행 주기와 콜백 함수 설정 | +| [[commands:reference:itimerset|ItimerSet(intervalMs, callback)]] | 기본 타이머의 실행 주기와 콜백 함수 설정 | 
-| ''ItimerSet(timerNo, intervalMs, callback)'' | 하드웨어 타이머 번호를 지정하여 설정 | +| [[commands:reference:itimerset|ItimerSet(timerNo, intervalMs, callback)]] | 하드웨어 타이머 번호를 지정하여 설정 | 
-| ''ItimerStart()'', ''ItimerStart(timerNo)'' | 콜백 타이머 시작 | +| [[commands:reference:itimerstart|ItimerStart()]], [[commands:reference:itimerstart|ItimerStart(timerNo)]] | 콜백 타이머 시작 | 
-| ''ItimerStop()'', ''ItimerStop(timerNo)'' | 콜백 타이머 정지 | +| [[commands:reference:itimerstop|ItimerStop()]], [[commands:reference:itimerstop|ItimerStop(timerNo)]] | 콜백 타이머 정지 | 
-| ''ItimerStopAll()'' | 콜백 타이머 전체 정지 | +| [[commands:reference:itimerstopall|ItimerStopAll()]] | 콜백 타이머 전체 정지 | 
-| ''ItimerState()'', ''ItimerState(timerNo)'' | 실행 상태 확인 |+| [[commands:reference:itimerstate|ItimerState()]], [[commands:reference:itimerstate|ItimerState(timerNo)]] | 실행 상태 확인 |
  
-콜백 함수는 인터럽트 안에서 실행됩니다. 콜백에서는 플래그나 짧은 카운트만 변경하고 ''delay()'', Serial 출력, I²C, SPI와 긴 계산을 사용하지 마십시오.+콜백 함수는 인터럽트 안에서 실행됩니다. 콜백에서는 플래그나 짧은 카운트만 변경하고 ''delay()'', Serial 출력, I²C, SPI와 긴 계산은 사용하지 않아야 합니다.
  
 <code cpp> <code cpp>
줄 226: 줄 254:
 </code> </code>
  
-===== 카운터와 데이터 버퍼 =====+===== 카운터 =====
  
 ^ 명령어 형식 ^ 설명 ^ ^ 명령어 형식 ^ 설명 ^
-| ''Ictu(id, CU, RESET, PV)'' | ''CU'' 상승 에지를 세어 ''PV''에 도달하면 ON | +| [[commands:reference:ictu|Ictu(id, CU, RESET, PV)]] | ''CU'' 상승 에지를 세어 ''PV''에 도달하면 ON | 
-| ''Ictd(id, CD, LOAD, PV)'' | ''LOAD''로 값을 불러온 뒤 ''CD'' 상승 에지마다 감소 | +| [[commands:reference:ictd|Ictd(id, CD, LOAD, PV)]] | ''LOAD''로 값을 불러온 뒤 ''CD'' 상승 에지마다 감소 | 
-| ''Ictud(id, CU, CD, RESET, LOAD, PV)'' | 증가와 감소를 함께 처리 | +| [[commands:reference:ictud|Ictud(id, CU, CD, RESET, LOAD, PV)]] | 증가와 감소를 함께 처리 | 
-| ''IgetCount(id)'', ''IsetCount(id, value)'' | 현재 카운트값 조회와 변경 | +| [[commands:reference:igetcount|IgetCount(id)]], [[commands:reference:isetcount|IsetCount(id, value)]] | 현재 카운트값 조회와 변경 | 
-| ''IctudDownState(id)'' | Up/Down 카운터의 하한 완료 상태 확인 | +| [[commands:reference:ictuddownstate|IctudDownState(id)]] | Up/Down 카운터의 하한 완료 상태 확인 |
-| ''FIFO(...)'' | 먼저 저장한 16비트 데이터를 먼저 꺼내는 버퍼 | +
-| ''FILO(...)'' | 나중에 저장한 16비트 데이터를 먼저 꺼내는 버퍼 |+
  
-카운터 명령어는 ''loop()''에서 계속 호출합니다. ''id''는 다른 카운터와 중복하지 않게 배정합니다.+카운터 명령어는 ''loop()''에서 계속 호출해야 합니다. ''id''는 다른 카운터와 중복되지 않게 배정해야 합니다.
  
-===== 아날로그 입력과 범위 변환 =====+===== 데이터 버퍼 ===== 
 + 
 +^ 명령어 형식 ^ 설명 ^ 
 +| [[commands:reference:fifo|FIFO(...)]] | 저장한 순서대로 16비트 데이터를 꺼내는 버퍼 | 
 +| [[commands:reference:filo|FILO(...)]] | 나중에 저장한 16비트 데이터를 먼저 꺼내는 버퍼 | 
 + 
 +===== 아날로그 입력 ===== 
 + 
 +^ 명령어 형식 ^ 반환값·용도 ^ 
 +| [[commands:reference:analogreadinit|analogReadInit(sps)]] | MPAINO ADS1118 아날로그 모듈의 샘플링 속도 설정 | 
 +| [[commands:reference:analogread|analogRead(ch)]] | 선택 채널의 원시 아날로그 값 읽기 | 
 +| [[commands:reference:analogreadavg|analogReadAvg(ch, samples)]], [[commands:reference:analogreadavgf|analogReadAvgf(ch, samples)]] | 정수 또는 실수 이동평균 입력 | 
 + 
 +===== 아날로그 입력 필터 ===== 
 + 
 +^ 명령어 형식 ^ 반환값·용도 ^ 
 +| [[commands:reference:ianalogfilter|IanalogFilter(id, raw, samples)]] | 사용자가 전달한 임의 값을 이동평균 처리 | 
 + 
 +===== 아날로그 범위 변환 ===== 
 + 
 +^ 명령어 형식 ^ 반환값·용도 ^ 
 +| [[commands:reference:ianalogread|IanalogRead(ch, min, max)]], [[commands:reference:ianalogreadf|IanalogReadf(ch, min, max)]] | 입력을 사용자 정수·실수 범위로 변환 | 
 + 
 +===== 4~20mA 입력 ===== 
 + 
 +^ 명령어 형식 ^ 반환값·용도 ^ 
 +| [[commands:reference:analogread2|analogRead2(ch)]] | 4~20mA 보정 입력값 읽기 | 
 +| [[commands:reference:analogread2avg|analogRead2Avg(ch, samples)]], [[commands:reference:analogread2avgf|analogRead2Avgf(ch, samples)]] | 4~20mA 입력값의 정수 또는 실수 평균 반환 | 
 + 
 +===== 4~20mA 범위 변환 =====
  
 ^ 명령어 형식 ^ 반환값·용도 ^ ^ 명령어 형식 ^ 반환값·용도 ^
-| ''analogReadInit(sps)'' | MPAINO ADS1118 아날로그 모듈의 샘플링 속도 설정 | +| [[commands:reference:ianalogread2|IanalogRead2(ch, min, max)]], [[commands:reference:ianalogread2f|IanalogRead2f(ch, min, max)]] | 4~20mA 입력을 사용자 범위로 변환 |
-| ''analogRead(ch)'' | 선택 채널의 원시 아날로그 값 읽기 | +
-| ''analogReadAvg(ch, samples)'', ''analogReadAvgf(ch, samples)'' | 정수 또는 실수 이동평균 입력 | +
-| ''IanalogFilter(id, raw, samples)'' | 사용자가 전달한 임의 값을 이동평균 처리 | +
-| ''IanalogRead(ch, min, max)'', ''IanalogReadf(ch, min, max)'' | 입력을 사용자 정수·실수 범위로 변환 | +
-| ''analogRead2(ch)'', ''analogRead2Avg(ch, samples)'' | 4~20mA 보정 입력과 이동평균 | +
-| ''IanalogRead2(ch, min, max)'', ''IanalogRead2f(ch, min, max)'' | 4~20mA 입력을 사용자 범위로 변환 |+
  
-MPAINO에서는 장착된 아날로그 입력 모듈과 딥스위치의 전압·전류 범위를 먼저 확인합니다. 샘플링 속도를 높이면 응답은 빨라지지만 노이즈와 측정 특성이 달라질 수 있습니다.+MPAINO에서는 장착된 아날로그 입력 모듈과 딥스위치의 전압·전류 범위를 먼저 확인해야 합니다. 샘플링 속도를 높이면 응답은 빨라지지만 노이즈와 측정 특성이 달라질 수 있습니다.
  
 <code cpp> <code cpp>
줄 268: 줄 317:
  
 ^ 명령어 형식 ^ 반환값 ^ 대상 ^ ^ 명령어 형식 ^ 반환값 ^ 대상 ^
-| ''ntcRead(ch)'' | 0.1℃ 단위 정수 | NTC 3950 10kΩ 온도센서 입력 | +| [[commands:reference:ntcread|ntcRead(ch)]] | 0.1℃ 단위 정수 | NTC 3950 10kΩ 온도센서 입력 | 
-| ''ntcReadf(ch)'' | ℃ 단위 ''float'' | NTC 3950 10kΩ 온도센서 입력 | +| [[commands:reference:ntcreadf|ntcReadf(ch)]] | ℃ 단위 ''float'' | NTC 3950 10kΩ 온도센서 입력 | 
-| ''pt100Read(ch)'' | 0.1℃ 단위 정수 | MPAINO PT100 입력 모듈 |+| [[commands:reference:pt100read|pt100Read(ch)]] | 0.1℃ 단위 정수 | MPAINO PT100 입력 모듈 |
  
-NTC와 PT100은 센서 종류와 입력 회로가 다릅니다. 서로 바꾸어 사용하지 말고 선택 제품에 해당 입력 기능이 있는지 확인하십시오.+NTC와 PT100은 센서 종류와 입력 회로가 다릅니다. 서로 바꾸어 사용하지 않아야 합니다. 선택한 제품에 해당 입력 기능이 있는지도 확인해주시기 바랍니다.
  
-===== 아날로그 출력과 PWM =====+===== 아날로그 출력 =====
  
 ^ 명령어 형식 ^ 설명 ^ ^ 명령어 형식 ^ 설명 ^
-| ''analogWriteInit(ch, top, prescaler)'' | PWM 타이머의 분해능과 분주비 설정 | +| [[commands:reference:analogwriteinit|analogWriteInit(ch, top, prescaler)]] | PWM 타이머의 분해능과 분주비 설정 | 
-| ''analogWriteFreq(ch, hz)'', ''analogWriteMax(ch)'' | PWM 주파수 설정과 현재 최댓값 확인 | +| [[commands:reference:analogwritefreq|analogWriteFreq(ch, hz)]], [[commands:reference:analogwritemax|analogWriteMax(ch)]] | PWM 주파수 설정과 현재 최댓값 확인 | 
-| ''IanalogWriteInit(ch, max, min, mode)'' | MPAINO 아날로그 출력 범위 초기화 | +| [[commands:reference:ianalogwriteinit|IanalogWriteInit(ch, max, min, mode)]] | MPAINO 아날로그 출력 범위 초기화 | 
-| ''IanalogWrite(ch, min, max, value)'', ''IanalogWritef(...)'' | 정수·실수 사용자값을 아날로그 출력 범위로 변환 | +| [[commands:reference:ianalogwrite|IanalogWrite(ch, min, max, value)]], [[commands:reference:ianalogwritef|IanalogWritef(...)]] | 정수·실수 사용자값을 아날로그 출력 범위로 변환 |
-| ''analogWrite2(ch, value)'', ''IanalogWrite2(...)'' | MPAINO 4~20mA 출력 변환 | +
-| ''PWM(pin, value, bit16)'' | 8비트 또는 16비트 PWM 출력 | +
-| ''FDPWM(pin, hz, duty)'' | 주파수와 Duty 비율을 지정한 PWM 출력 | +
-| ''NPWM_BEGIN(pin, hz, duty, count)'', ''NPWM(pin)'' | 지정한 개수만큼 펄스 출력 | +
-| ''PWMOFF(pin, off)'', ''PWM_RESET()'' | 개별 PWM 정지 또는 전체 초기화 |+
  
-PWM, 고속펄스, ''analogWrite()''와 콜백 타이머는 같은 하드웨어 타이머를 공유할 수 있습니다. 여러 기능을 함께 사용할 때는 해당 제품의 타이머 지원표를 확인하십시오.+===== 4~20mA 출력 ===== 
 + 
 +^ 명령어 형식 ^ 설명 ^ 
 +| [[commands:reference:analogwrite2|analogWrite2(ch, value)]] | 지정한 채널에 4~20mA 변환용 원시값 출력 | 
 +| [[commands:reference:ianalogwrite2|IanalogWrite2(ch, min, max, value)]], [[commands:reference:ianalogwrite2f|IanalogWrite2f(...)]] | 정수·실수 사용자값을 4~20mA 출력 범위로 변환 | 
 + 
 +===== PWM 출력 ===== 
 + 
 +^ 명령어 형식 ^ 설명 ^ 
 +| [[commands:reference:pwm|PWM(pin, value, bit16)]] | 8비트 또는 16비트 PWM 출력 | 
 +| [[commands:reference:fdpwm|FDPWM(pin, hz, duty)]] | 주파수와 Duty 비율을 지정한 PWM 출력 | 
 +| [[commands:reference:pwmoff|PWMOFF(pin, off)]], [[commands:reference:pwm_reset|PWM_RESET()]] | 개별 PWM 정지 또는 전체 초기화 | 
 + 
 +===== 펄스 출력 ===== 
 + 
 +^ 명령어 형식 ^ 설명 ^ 
 +| [[commands:reference:npwm_begin|NPWM_BEGIN(pin, hz, duty, count)]], [[commands:reference:npwm|NPWM(pin)]] | 지정한 개수만큼 펄스 출력 | 
 + 
 +PWM, 고속펄스, ''analogWrite()''와 콜백 타이머는 같은 하드웨어 타이머를 공유할 수 있습니다. 여러 기능을 함께 사용할 때는 해당 제품의 타이머 지원표를 확인해야 합니다.
  
 ===== PID 제어 ===== ===== PID 제어 =====
  
 ^ 명령어 형식 ^ 설명 ^ ^ 명령어 형식 ^ 설명 ^
-| ''IpidSet(id, kp, ki, kd, sampleMs, outMin, outMax)'' | PID 계수, 계산 주기와 출력 범위 설정 | +| [[commands:reference:ipidset|IpidSet(id, kp, ki, kd, sampleMs, outMin, outMax)]] | PID 계수, 계산 주기와 출력 범위 설정 | 
-| ''IpidRun(id, pv, sv)'' | 현재값 ''PV''와 설정값 ''SV''로 출력 계산 | +| [[commands:reference:ipidrun|IpidRun(id, pv, sv)]] | 현재값 ''PV''와 설정값 ''SV''로 출력 계산 | 
-| ''IpidReset(id)'' | 내부 상태 초기화 | +| [[commands:reference:ipidreset|IpidReset(id)]] | 내부 상태 초기화 | 
-| ''IpidReverse(id, reverse)'' | 정동작 또는 역동작 선택 | +| [[commands:reference:ipidreverse|IpidReverse(id, reverse)]] | 정동작 또는 역동작 선택 | 
-| ''IpidItermLimit(id, min, max)'' | 적분항 범위 제한 | +| [[commands:reference:ipiditermlimit|IpidItermLimit(id, min, max)]] | 적분항 범위 제한 | 
-| ''IpidOutput(id)'' | 마지막 출력값 확인 |+| [[commands:reference:ipidoutput|IpidOutput(id)]] | 마지막 출력값 확인 |
  
 <code cpp> <code cpp>
줄 311: 줄 373:
 </code> </code>
  
-PID 출력은 계산값일 뿐 안전장치가 아닙니다. 센서 단선, 과온, 출력 고착과 비상정지는 별도의 안전회로로 처리하십시오.+PID 출력은 계산값일 뿐 안전장치가 아닙니다. 센서 단선·과온·출력 고착·비상정지는 별도의 안전회로로 처리해야 합니다.
  
-===== 표시 장치와 RTC =====+===== 7세그먼트 FND(TM1637 I.C) =====
  
-^ 기능 ^ 주요 명령어 ^ 설명 ^ +[[guide:seven_segment|7세그먼트 사용설명서]]
-| TM1637 4자리 FND | ''IsegBegin()'', ''IsegBrightness()'', ''IsegDecimal()'', ''IsegHex()'', ''IsegClear()'' | 최대 7개 장치를 ''device'' 번호로 구분 | +
-| PCF8574 문자 LCD | ''IclcdBegin()'', ''IclcdSetCursor()'', ''IclcdPrint()'', ''IclcdClear()'' | 최대 4개 LCD를 ''device'' 번호로 구분 | +
-| DS3231 RTC | ''IrtcBegin()'', ''IrtcRead()'', ''IrtcSet()'', ''IrtcGetTemperature()'', ''IrtcSetAlarm1()'' | 날짜·시간, 온도, 알람과 주파수 출력 사용 |+
  
-표시 장치와 RTC는 각각의 ''Begin'' 명령어를 먼저 호출합니다. I²C 주소, 연결 핀과 다른 기능의 공유 여부를 확인하십시오.+^ 대상 ^ 주요 명령어 ^ 설명 ^ 
 +| TM1637 4자리 FND | [[commands:reference:isegbegin|IsegBegin()]], [[commands:reference:isegbrightness|IsegBrightness()]], [[commands:reference:isegdecimal|IsegDecimal()]], [[commands:reference:iseghex|IsegHex()]], [[commands:reference:isegclear|IsegClear()]] | 최대 7개 장치를 ''device'' 번호로 구분 |
  
-===== Debug와 Watchdog =====+===== CHAREACTER LCD 사용설명서 ===== 
 + 
 +[[guide:character_lcd|CHARACTER LCD 사용설명서]] 
 + 
 +^ 대상 ^ 주요 명령어 ^ 설명 ^ 
 +| PCF8574 문자 LCD | [[commands:reference:iclcdbegin|IclcdBegin()]], [[commands:reference:iclcdsetcursor|IclcdSetCursor()]], [[commands:reference:iclcdprint|IclcdPrint()]], [[commands:reference:iclcdclear|IclcdClear()]] | 최대 4개 LCD를 ''device'' 번호로 구분 | 
 + 
 +===== RTC ===== 
 + 
 +^ 대상 ^ 주요 명령어 ^ 설명 ^ 
 +| DS3231 RTC | [[commands:reference:irtcbegin|IrtcBegin()]], [[commands:reference:irtcread|IrtcRead()]], [[commands:reference:irtcset|IrtcSet()]], [[commands:reference:irtcgettemperature|IrtcGetTemperature()]], [[commands:reference:irtcsetalarm1|IrtcSetAlarm1()]] | 날짜·시간, 온도, 알람과 주파수 출력 사용 | 
 + 
 +표시 장치와 RTC를 사용하기 전에 각각의 ''Begin'' 명령어를 호출해야 합니다. I²C 주소·연결 핀·다른 기능과의 공유 여부를 확인해주시기 바랍니다. 
 + 
 +===== 디버그 ===== 
 + 
 +^ 명령어 형식 ^ 설명 ^ 
 +| [[commands:reference:debugstart|debugStart()]], [[commands:reference:debugstart|debugStart(baud)]], [[commands:reference:debugstart|debugStart(serial, baud)]] | Debug 출력 시작과 포트 선택 | 
 +| [[commands:reference:debug|debug()]], [[commands:reference:debugln|debugln()]] | Debug가 활성화된 경우에만 값 출력 | 
 +| [[commands:reference:debugstop|debugStop()]], [[commands:reference:debugstate|debugState()]] | Debug 중지와 상태 확인 | 
 + 
 +===== Watchdog =====
  
 ^ 명령어 형식 ^ 설명 ^ ^ 명령어 형식 ^ 설명 ^
-| ''debugStart()'', ''debugStart(baud)'', ''debugStart(serial, baud)'' | Debug 출력 시작과 포트 선택 | +| [[commands:reference:wdt_enable|WDT_ENABLE(time)]] | Watchdog 제한시간 설정 및 활성화 | 
-| ''debug()'', ''debugln()'' | Debug가 활성화된 경우에만 값 출력 | +| [[commands:reference:wdt|WDT()]], [[commands:reference:wdt_disable|WDT_DISABLE()]] | Watchdog 리셋과 비활성화 |
-| ''debugStop()'', ''debugState()'' | Debug 중지와 상태 확인 | +
-| ''WDT_ENABLE(time)'' | Watchdog 제한시간 설정 및 활성화 | +
-| ''WDT()'', ''WDT_DISABLE()'' | Watchdog 리셋과 비활성화 |+
  
-Watchdog를 활성화한 뒤 ''WDT()'' 호출이 늦어지면 보드가 재시작됩니다. 통신 대기와 긴 반복문의 최악 실행시간을 먼저 확인하십시오.+Watchdog를 활성화한 뒤 ''WDT()'' 호출이 늦어지면 보드가 재시작됩니다. 통신 대기와 긴 반복문이 걸리는 최장 시간을 먼저 확인해야 합니다.
  
 ===== 고속카운터 ===== ===== 고속카운터 =====
  
 ^ 명령어 형식 ^ 설명 ^ ^ 명령어 형식 ^ 설명 ^
-| ''TCNTSETUP(timerNo, bit32)'' | 타이머 외부 클럭 입력과 32비트 확장 모드 설정 | +| [[commands:reference:tcntsetup|TCNTSETUP(timerNo, bit32)]] | 타이머 외부 클럭 입력과 32비트 확장 모드 설정 | 
-| ''TCNTOUT(timerNo)'' | 32비트 확장 모드에서 누적된 상위 오버플로 횟수 확인 |+| [[commands:reference:tcntout|TCNTOUT(timerNo)]] | 32비트 확장 모드에서 누적된 상위 오버플로 횟수 확인 |
  
 현재 타이머 외부 클럭 방식의 전용 고속카운터 지원 제품은 MPINO-8A8R과 MPINO-16A8R8T입니다. 다른 제품은 제품별 인터럽트 입력을 확인해 ''attachInterrupt()'' 방식을 사용합니다. 현재 타이머 외부 클럭 방식의 전용 고속카운터 지원 제품은 MPINO-8A8R과 MPINO-16A8R8T입니다. 다른 제품은 제품별 인터럽트 입력을 확인해 ''attachInterrupt()'' 방식을 사용합니다.
  
-===== 산업용 통신 =====+===== Modbus RTU Slave =====
  
-^ 프로토콜 ^ 초기 설정 ^ ''loop()'' 실행 명령어 ^ +^ 초기 설정 ^ ''loop()'' 실행 명령어 ^ 
-| Modbus RTU Slave | ''ImodbusRTUMem()'', ''ImodbusRTUAdr()'', ''ImodbusRTUInit()'' | ''ImodbusRTU()'' | +| [[commands:reference:imodbusrtumem|ImodbusRTUMem()]], [[commands:reference:imodbusrtuadr|ImodbusRTUAdr()]], [[commands:reference:imodbusrtuinit|ImodbusRTUInit()]] | [[commands:reference:imodbusrtu|ImodbusRTU()]] |
-| Modbus RTU Master | ''ImodbusRTUmasterInit()'', ''ImodbusRTUmasterAdd()'' | ''ImodbusRTUmaster()'' 또는 ''ImodbusRTUmasterRun()'' | +
-| LS산전 Cnet Slave | ''ICnetMem()'', ''ICnetAdr()'', ''ICnetInit()'' | ''ICnet()'' | +
-| Mitsubishi MC Protocol Slave | ''IMcMem()'', ''IMcAdr()'', ''IMcInit()'' | ''IMcProtocol()'' |+
  
 <code cpp> <code cpp>
줄 361: 줄 436:
 </code> </code>
  
-제품별 RS-232, RS-485와 UART의 ''Serial'' 번호가 다를 수 있습니다. 통신 전에 포트 역할, 전기 규격, 보레이트, 국번, 종단저항과 딥스위치 설정을 확인하십시오.+===== Modbus RTU Master ===== 
 + 
 +^ 초기 설정 ^ 실행 명령어 ^ 
 +| [[commands:reference:imodbusrtumasterinit|ImodbusRTUmasterInit()]], [[commands:reference:imodbusrtumasteradd|ImodbusRTUmasterAdd()]] | [[commands:reference:imodbusrtumaster|ImodbusRTUmaster()]] 또는 [[commands:reference:imodbusrtumasterrun|ImodbusRTUmasterRun()]] | 
 + 
 +===== LS산전 Cnet Slave ===== 
 + 
 +^ 초기 설정 ^ ''loop()'' 실행 명령어 ^ 
 +| [[commands:reference:icnetmem|ICnetMem()]], [[commands:reference:icnetadr|ICnetAdr()]], [[commands:reference:icnetinit|ICnetInit()]] | [[commands:reference:icnet|ICnet()]] | 
 + 
 +===== Mitsubishi MC Protocol ===== 
 + 
 +^ 초기 설정 ^ ''loop()'' 실행 명령어 ^ 
 +| [[commands:reference:imcmem|IMcMem()]], [[commands:reference:imcadr|IMcAdr()]], [[commands:reference:imcinit|IMcInit()]] | [[commands:reference:imcprotocol|IMcProtocol()]] | 
 + 
 +제품별 RS-232, RS-485와 UART의 ''Serial'' 번호가 다를 수 있습니다. 통신 전에 포트 역할·전기 규격·보레이트·국번·종단저항·딥스위치 설정을 확인해야 합니다.
  
 ===== 통합 입출력 예제 ===== ===== 통합 입출력 예제 =====
줄 371: 줄 461:
 const uint8_t outputChannel = 64; const uint8_t outputChannel = 64;
  
-void setup() { +void setup() {}
-  pinMode(inputChannel, INPUT); +
-  pinMode(outputChannel, OUTPUT); +
-}+
  
 void loop() { void loop() {
줄 385: 줄 472:
 ===== 문제가 생겼을 때 ===== ===== 문제가 생겼을 때 =====
  
-  * **명령어를 찾을 수 없음:** ILOGICS 보드 패키지 설치와 제품 보드 선택을 확인합니다. +  * **명령어를 찾을 수 없음:** ILOGICS 보드 패키지 설치와 제품 보드 선택을 확인해주시기 바랍니다. 
-  * **입출력이 반응하지 않음:** MPINO 핀 번호와 MPAINO 논리 채널을 혼동하지 않았는지 확인합니다. +  * **입출력이 반응하지 않음:** MPINO 핀 번호와 MPAINO 논리 채널을 혼동하지 않았는지 확인해주시기 바랍니다. 
-  * **타이머·카운터가 멈춤:** 명령어를 ''loop()''에서 계속 호출하는지, 같은 ''id''를 중복 사용하지 않았는지 확인합니다. +  * **타이머·카운터가 멈춤:** 명령어를 ''loop()''에서 계속 호출하는지, 같은 ''id''를 중복 사용하지 않았는지 확인해주시기 바랍니다. 
-  * **PWM 주파수가 이상함:** 같은 하드웨어 타이머를 다른 PWM·펄스·콜백 기능이 사용 중인지 확인합니다. +  * **PWM 주파수가 이상함:** 같은 하드웨어 타이머를 다른 PWM·펄스·콜백 기능이 사용 중인지 확인해주시기 바랍니다. 
-  * **아날로그값이 다름:** 전압·전류·NTC·PT100 딥스위치와 채널, 샘플링 속도를 확인합니다. +  * **아날로그값이 다름:** 전압·전류·NTC·PT100 딥스위치 설정과 채널·샘플링 속도를 확인해주시기 바랍니다. 
-  * **통신이 되지 않음:** Serial 포트, RS-232/RS-485 방식, 보레이트, 국번, 패리티와 배선을 확인합니다. +  * **통신이 되지 않음:** Serial 포트·RS-232/RS-485 방식·보레이트·국번·패리티·배선을 확인해주시기 바랍니다. 
-  * **보드가 반복 재시작됨:** Watchdog 제한시간보다 오래 걸리는 코드가 있는지 확인합니다.+  * **보드가 반복 재시작됨:** Watchdog 제한시간보다 오래 걸리는 코드가 있는지 확인해주시기 바랍니다.
  
 ===== 필수 주의사항 ===== ===== 필수 주의사항 =====
  
-  * 과거 ''#include <ILIB.h>'', ''tempRead()'', ''Ipt100Read()'' 예제를 현재 내장 명령어와 혼용하지 않습니다. +  * 과거 ''#include <ILIB.h>'', ''tempRead()'', ''Ipt100Read()'' 예제는 현재 내장 명령어와 혼용하지 않아야 합니다. 
-  * 전원과 배선을 변경할 때는 장비 전원을 끄고 극성, COM, 입력전압과 부하전원을 확인합니다. +  * 전원과 배선을 변경할 때는 장비 전원을 꺼야 합니다. 극성·COM·입력전압·부하전원도 확인해야 합니다. 
-  * 릴레이와 트랜지스터 출력의 전기적 특성 및 허용전류를 구분합니다. +  * 릴레이와 트랜지스터 출력의 전기적 특성 및 허용전류를 구분해야 합니다. 
-  * 프로그램 출력만 비상정지나 과전류 보호수단으로 사용하지 않습니다. +  * 프로그램 출력만 비상정지나 과전류 보호수단으로 사용하지 않아야 합니다. 
-  * 제품별 핀맵, 전기 사양과 지원 타이머는 해당 제품 설명서를 최종 기준으로 확인합니다.+  * 제품별 핀맵·전기 사양·지원 타이머는 해당 제품 설명서를 최종 기준으로 확인해야 합니다.
  
 ===== 관련 문서 ===== ===== 관련 문서 =====
  
   * [[products:overview|제품 선택 가이드]]   * [[products:overview|제품 선택 가이드]]
-  * [[products:mpino|MPINO 제품 특징과 사용 흐름]]+  * [[products:mpino_series|MPINO 제품 특징과 사용 흐름]]
   * [[products:mpaino|MPAINO 모듈 구성과 논리 채널]]   * [[products:mpaino|MPAINO 모듈 구성과 논리 채널]]
   * [[guide:getting_started|Arduino IDE로 처음 시작하기]]   * [[guide:getting_started|Arduino IDE로 처음 시작하기]]
-  * [[guide:wiring|입출력 배선 원칙]] +  * [[guide:wiring|첫 결선과 입출력 확인]] 
-  * [[safety|안전 및 설치 주의사항]]+  * [[:safety|안전 및 설치 주의사항]]
  
commands/builtin.1788188067.txt.gz · 마지막으로 수정됨: 저자 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki