commands:reference:isegencodedigit
IsegEncodeDigit()
명령어
| 명령어 | 인수 | 반환값 | 동작 |
|---|---|---|---|
IsegEncodeDigit(digit) | uint8_t digit | uint8_t | 숫자 한 자리를 세그먼트 데이터로 변환합니다. |
예제
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/isegencodedigit.txt · 마지막으로 수정됨: 저자 127.0.0.1
