class ADCAll – 모든 ADC 채널 접근¶
ADCAll 은 외부 아날로그 입력 핀과 다이 온도, 1.21V 기준 전압, VBAT 을 위한 내부 채널 양쪽 모두를 포함하여 MCU의 모든 ADC 채널을 하나의 객체로 노출합니다. 핀마다 ADC 를 인스턴스화하지 않고도 MCU의 공급 레일과 온칩 센서를 모니터링하는 데 유용합니다.
예제:
import pyb
# 12-bit resolution, internal channels only (temp + VBAT + VREF).
adcall = pyb.ADCAll(12, 0x70000)
temp = adcall.read_core_temp()
vbat = adcall.read_core_vbat()
vref = adcall.read_core_vref()
vdda = adcall.read_vref()
생성자¶
- class pyb.ADCAll(resolution: int, mask: int = 0xffffffff)¶
다이 온도, 내부 1.21V 기준 전압,
VBAT을 위한 내부 채널을 포함하여 MCU의 모든 ADC 채널에 동시에 접근할 수 있게 합니다. 이 객체를 생성하면 마스크된 모든 외부 ADC 핀이 아날로그 입력 모드로 전환됩니다.resolution은 비트 단위의 ADC 변환 해상도입니다(일반적으로8,10또는12).mask는 활성화할 채널을 선택하는 32비트 비트마스크입니다. 비트N은 채널N을 활성화합니다. 기본값은0xffffffff(모든 채널)입니다. 내부 채널은 비트16(온도),17(VBAT),18(VREF)에 위치하므로, 내부 채널만 활성화하려면0x70000을 전달하세요.
온칩 온도 센서는 공장에서 보정되어 약 ±1°C의 정확도를 갖지만, 다이 온도를 측정하는데 이는 MCU가 활성 상태일 때 일반적으로 주변 온도보다 수십 도 높습니다. 측정값은 갓 깨어난 보드에서만 주변 온도의 대용값으로 의미가 있습니다.
경고
아날로그 입력 전압은 절대로 실제 공급 전압을 초과해서는 안 됩니다.
메서드¶
- read_channel(channel: int) int¶
지정한 ADC 채널을 읽습니다. 외부 채널(
0–15)은 설정된 해상도에서 스케일링되지 않은 원시 값을 반환합니다. 내부 채널(16–18)도 원시 값을 반환하지만, 아래의 전용 헬퍼들이 이를 전압으로 변환합니다.