class ADC -- 類比數位轉換

ADC 類別封裝了單一類比數位轉換器通道,它會取樣某個接腳(或某個晶片內建類比通道)上的電壓並傳回其離散化的值。

用法範例:

from machine import ADC, Pin

adc = ADC(Pin("P6"))      # ADC channel on header pin P6 (PA5)
val = adc.read_u16()      # raw reading scaled to 0..65535

建構子

class machine.ADC(id: int | str | Pin) ADC

為由 id 識別的類比來源建構一個 ADC 物件。可接受的形式為:

  • 整數通道編號(在 STM32 上為 0 -- 18,在其他平台上則因連接埠而異);

  • 一個 Pin 物件,或諸如 "P6" 的主機板接腳字串 -- 該接腳必須支援類比功能;

  • 其中一個內部通道常數(CORE_TEMPCORE_VREFCORE_VBATVREFCORE_VDD),用以讀取 MCU 的內部感測器。僅限 STM32。

方法

read_u16() int

對類比通道取樣一次並將結果以無號 16 位元整數(0 -- 65535)傳回。較低解析度的 ADC 會在 16 位元範圍內向左對齊,因此連接埠特有的原始解析度會被隱藏。

read_uv() int

對類比通道取樣並以微伏為單位傳回結果。在硬體支援的情況下,讀數會針對內部參考進行校正。僅限 mimxrt 連接埠。

常數

下列常數僅在 STM32 連接埠上可用;將它們作為 id 引數傳入,以建構一個讀取某個晶片內建類比感測器的 ADCread_u16() 的結果是該通道的原始 16 位元讀數;如需校正後的值,請使用 pyb.ADCAll 上的輔助函式。

VREF: int

外部電壓參考通道。

CORE_VREF: int

內部 1.21 V(標稱)電壓參考通道(VREFINT)。

CORE_TEMP: int

內部晶粒溫度感測器通道。

CORE_VBAT: int

備援電池電壓通道(VBAT)。

CORE_VDD: int

MCU 供電軌通道(VDDA)。