====== IsegWrite() ====== ''IsegWrite()''는 세그먼트 데이터를 지정 위치에 출력합니다. {{:commands:reference:isegwrite.svg?900|IsegWrite 명령어 동작 흐름}} ''bool IsegWrite(const uint8_t segments[], uint8_t length = 4, uint8_t position = 0, uint8_t device = 0)'' ===== 명령어 ===== ^ 명령어 ^ 인수 ^ 반환값 ^ 동작 ^ | ''IsegWrite(segments, length, position, device)'' | ''const uint8_t segments[]'' — 각 자리의 ''XGFEDCBA'' 세그먼트 비트 배열\\ ''uint8_t length = 4'' — 기록할 자리 수 ''1~4''\\ ''uint8_t position = 0'' — 기록 시작 위치 ''0~3'', 왼쪽 첫 자리가 ''0''\\ ''uint8_t device = 0'' — FND 장치 번호 ''0~6'', 생략하면 ''0'' | ''bool'' | 세그먼트 데이터를 지정 위치에 출력합니다. | ===== 예제 ===== const uint8_t CLK_PIN = 14; const uint8_t DIO_PIN = 15; void setup() { IsegBegin(CLK_PIN, DIO_PIN, 100, 0); // TM1637 FND의 CLK·DIO 핀과 장치 번호를 설정합니다. IsegBrightness(5, true, 0); // 화면 밝기와 표시 상태를 설정합니다. } void loop() { const uint16_t value = analogRead(A0); // 지정한 채널의 원시 아날로그값을 읽습니다. uint8_t digits[4] = { IsegEncodeDigit((value / 1000) % 10), // 숫자 한 자리를 세그먼트 데이터로 변환합니다. IsegEncodeDigit((value / 100) % 10), // 숫자 한 자리를 세그먼트 데이터로 변환합니다. IsegEncodeDigit((value / 10) % 10), // 숫자 한 자리를 세그먼트 데이터로 변환합니다. IsegEncodeDigit(value % 10) // 숫자 한 자리를 세그먼트 데이터로 변환합니다. }; IsegWrite(digits, 4, 0, 0); // 세그먼트 데이터를 지정 위치에 출력합니다. delay(100); } ===== 주의사항 ===== * TM1637 IC가 내장된 4자리 FND 전용이다. 일반 멀티플렉스 FND를 직접 구동하는 명령어가 아니다. * ''IsegBegin()''을 성공적으로 호출한 뒤 표시 명령어를 사용한다. * CLK와 DIO에 같은 핀을 지정하거나 장치 번호 ''7'' 이상을 지정하면 초기화되지 않는다. * ''length + position''은 4 이하여야 한다. 범위에 맞지 않는 숫자는 표시하지 않고 ''false''를 반환한다. * 통신 중 수 ms 동안 실행이 막힐 수 있으므로 인터럽트 서비스 루틴 안에서 호출하지 않는다. * 지정한 핀은 UART, PWM, 엔코더, 외부 인터럽트 등 다른 기능과 동시에 사용하지 않는다. * FND 전원과 신호 전압은 실제 모듈 및 제품 사용설명서를 확인한다. ===== 같은 카테고리의 내장 명령어 ===== * [[commands:reference:isegbegin|IsegBegin() 상세 설명 보기]] * [[commands:reference:isegbrightness|IsegBrightness() 상세 설명 보기]] * [[commands:reference:isegclear|IsegClear() 상세 설명 보기]] * [[commands:reference:isegdecimal|IsegDecimal() 상세 설명 보기]] * [[commands:reference:iseghex|IsegHex() 상세 설명 보기]] * [[commands:reference:isegencodedigit|IsegEncodeDigit() 상세 설명 보기]] [[commands:builtin|← 내장 명령어 리스트]]