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~4uint8_t position = 0 — 기록 시작 위치 0~3, 왼쪽 첫 자리가 0uint8_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); }
IsegBegin()을 성공적으로 호출한 뒤 표시 명령어를 사용한다.7 이상을 지정하면 초기화되지 않는다.length + position은 4 이하여야 한다. 범위에 맞지 않는 숫자는 표시하지 않고 false를 반환한다.