====== analogReadInit() ====== ''analogReadInit()''는 아날로그 입력 모듈의 샘플링 속도를 설정합니다. {{:commands:reference:analogreadinit.svg?900|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:analogread|analogRead() 상세 설명 보기]] * [[commands:reference:analogreadavg|analogReadAvg() 상세 설명 보기]] * [[commands:reference:analogreadavgf|analogReadAvgf() 상세 설명 보기]] [[commands:builtin|← 내장 명령어 리스트]]