사용자 도구

사이트 도구


commands:reference:analogreadinit

analogReadInit()

analogReadInit()는 아날로그 입력 모듈의 샘플링 속도를 설정합니다.

analogReadInit 명령어 동작 흐름

void analogReadInit(uint16_t sps)

명령어

명령어 인수 반환값 동작
analogReadInit(sps) uint16_t sps void 아날로그 입력 모듈의 샘플링 속도를 설정합니다.

예제

void setup() {
  Serial.begin(115200);
 
  // 자동완성 상수 사용
  analogReadInit(IANALOG_SPS_250);  // 아날로그 입력 모듈의 샘플링 속도를 설정합니다.
}
 
void loop() {
  for (uint8_t ch = 0; ch < 4; ch++) {
    Serial.print("CH");
    Serial.print(ch);
    Serial.print(" = ");
    Serial.println(analogRead(ch));  // 지정한 채널의 원시 아날로그값을 읽습니다.
  }
}

주의사항

  • PGA, 입력 MUX, Single-shot 모드 등 SPS 이외의 설정은 변경하지 않는다.
  • 높은 SPS는 변환 대기시간을 줄이지만 현장 배선과 신호 노이즈에 따른 값 변동을 확인해야 한다.
  • 내부 ADS1118 최대 RATE는 860 SPS이며 같은 채널을 두 번 변환하므로 사용자가 요청할 수 있는 반환 목표 상한은 475 SPS이다.
  • analogReadInit(128)은 ADS1118에 존재하지 않는 256 SPS가 아니라 가장 가까운 상위 단계인 250 SPS RATE를 사용한다.
  • SPI 통신과 함수 처리 시간이 추가되므로 실제 측정 SPS는 목표값보다 낮을 수 있다.
  • analogRead()는 채널값 밀림 방지를 위해 같은 채널을 두 번 변환하므로 전체 채널 갱신시간 계산에 두 번의 변환시간을 반영해야 한다.

같은 카테고리의 내장 명령어

commands/reference/analogreadinit.txt · 마지막으로 수정됨: 저자 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki