class ADCAll -- すべてのADCチャンネルにアクセスする¶
ADCAll は、MCU上のすべてのADCチャンネルを単一のオブジェクトを通じて公開します。外部アナログ入力ピンと、ダイ温度、1.21 V基準電圧、VBAT の内部チャンネルの両方が対象です。これは、ピンごとに 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.21 V基準電圧、
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)も生の値を返しますが、以下の専用ヘルパーがそれらを電圧に変換します。