사용자 도구

사이트 도구


commands:reference:isegencodedigit

IsegEncodeDigit()

IsegEncodeDigit()는 숫자 한 자리를 세그먼트 데이터로 변환합니다.

IsegEncodeDigit 명령어 동작 흐름

uint8_t IsegEncodeDigit(uint8_t digit)

명령어

명령어 인수 반환값 동작
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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki