名称
analogReadResolution()
説明
analogReadResolution()はAnalog APIの拡張で、analogRead()により返される値の分解能(ビット単位)を変更することができる。デフォルト値は10ビット(0から1023)である。これは、AVRベースのボードとの後方互換性のためである。
Arduinoボードにより、分解能の範囲は異なる。
10ビット: 0から1023。12ビット: 0-4095、14ビット: 0-16383、16ビット: 0-65535。
書式
ボードのADCの分解能を設定するには、以下の関数を使う。
analogReadResolution(bits)
引数
この関数は以下の引数を受け付ける。
| bits | analogRead()関数が返す値の分解能(ビット単位)を決定する。 |
analogRead()が返す値は近似値となる。詳しくは、以下の注意を参照すること。戻り値
なし。
コード例
このコードは、異なる分解能でADCを利用する方法を示す。
|
|
注意
analogReadResolution()で、ボードの能力よりも大きい値を設定した場合、Arduinoボードは、分解能を超えた部分を0パディングした値を返却する。
例えば、UNO R4でanalogReadResolution(16)とすると、最初の14ビットに実際のADCの読み取り値が入り、後の2ビットは0パディングされた16ビットの値が返却される。
analogReadResolution()でボードの能力よりも小さい値を設定した場合、ADCで読み取った値の下位のビットが捨てられる。
16ビットの分解能(もしくは実際のハードウェア能力より大きい値)を使えば、将来ボードのADCの分解能が大きくなったときに、自動的にそのボードを使うことができるスケッチを書くことができる。
参照
オリジナルのページ
https://docs.arduino.cc/language-reference/en/functions/analog-io/analogReadResolution/
実装の解析
まだ解析していません。
最終更新日
August 16, 2026