třída PinAF – alternativní funkce pinu

Každý STM32 pin může sloužit jako prostý GPIO nebo jako jedna z několika alternativních funkcí periferií (UART4_TX, I2C2_SCL, TIM2_CH3 atd.). Objekt PinAF popisuje jednu alternativní funkci, která je zapojena na konkrétní pin, a je tím, co vrací Pin.af_list().

Model použití:

p4 = pyb.Pin.board.P4
p4_af = p4.af_list()

p4_af nyní obsahuje seznam objektů PinAF dostupných na P4. Přesný seznam závisí na STM32 MCU používané OpenMV Cam.

Normálně každý ovladač periferie automaticky nakonfiguruje alternativní funkci, kterou potřebuje. Když je stejná funkce periferie zapojena na více než jeden pin, nebo když několik funkcí sdílí jeden pin, můžete jednu vybrat explicitně přes Pin.ALT buď podle názvu:

pin = pyb.Pin(pyb.Pin.board.P4, mode=pyb.Pin.ALT, alt=pyb.Pin.AF1_TIM2)

nebo podle nezpracovaného indexu:

pin = pyb.Pin(pyb.Pin.board.P4, mode=pyb.Pin.ALT, alt=1)

Konstruktory

class pyb.PinAF

Objekty PinAF se nekonstruují přímo. Pro výčet alternativních funkcí dostupných na daném pinu použijte Pin.af_list().

Metody

__str__() str

Vrátí řetězec popisující alternativní funkci (její název a index).

index() int

Vrátí index alternativní funkce. Stejné celé číslo přijímá argument alt metody Pin.init().

name() str

Vrátí název alternativní funkce, například "TIM2_CH3".

reg() int

Vrátí bázovou adresu registru periferie přiřazené k této alternativní funkci. Pokud by například alternativní funkce byla TIM2_CH3, vrátilo by to stm.TIM2.