class ADC – analog till digital-konvertering

Klassen ADC omsluter en enda analog-till-digital-omvandlarkanal som samplar en spänning på ett stift (eller en av de analoga kanalerna på chipet) och returnerar dess diskretiserade värde.

Exempel på användning:

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

Konstruktorer

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

Skapar ett ADC-objekt för den analoga källa som identifieras av id. De godkända formerna är:

  • ett heltal för kanalnummer (018 på STM32, portspecifikt på andra ställen);

  • ett Pin-objekt, eller en kortstiftssträng såsom "P6" – stiftet måste vara analogkapabelt;

  • en av konstanterna för interna kanaler (CORE_TEMP, CORE_VREF, CORE_VBAT, VREF eller CORE_VDD) för att läsa MCU:ns interna sensorer. Endast STM32.

Metoder

read_u16() int

Samplar den analoga kanalen en gång och returnerar resultatet som ett 16-bitars heltal utan tecken (065535). ADC:er med lägre upplösning vänsterjusteras in i det 16-bitars intervallet så att den portspecifika råa upplösningen döljs.

read_uv() int

Samplar den analoga kanalen och returnerar resultatet i mikrovolt. Avläsningen kalibreras mot den interna referensen där hårdvaran stöder det. Endast mimxrt-porten.

Konstanter

Konstanterna nedan är endast tillgängliga på STM32-porten; skicka dem som id-argumentet för att skapa en ADC som läser en av de analoga sensorerna på chipet. Resultatet av read_u16() är kanalens råa 16-bitars avläsning; för kalibrerade värden, använd hjälpfunktionerna på pyb.ADCAll.

VREF: int

Kanal för extern spänningsreferens.

CORE_VREF: int

Intern 1,21 V (nominell) spänningsreferenskanal (VREFINT).

CORE_TEMP: int

Intern kanal för chipets temperatursensor.

CORE_VBAT: int

Kanal för backup-batterispänning (VBAT).

CORE_VDD: int

Kanal för MCU:ns matningsskena (VDDA).