klasa PinAF – funkcje alternatywne pinów

Każdy pin STM32 może pełnić rolę zwykłego GPIO lub jednej z kilku funkcji alternatywnych urządzeń peryferyjnych (UART4_TX, I2C2_SCL, TIM2_CH3 itd.). Obiekt PinAF opisuje pojedynczą funkcję alternatywną podłączoną do konkretnego pinu i jest tym, co zwraca Pin.af_list().

Model użycia:

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

p4_af zawiera teraz listę obiektów PinAF dostępnych na P4. Dokładna lista zależy od mikrokontrolera STM32 na używanej kamerze OpenMV Cam.

Zwykle każdy sterownik urządzenia peryferyjnego automatycznie konfiguruje potrzebną mu funkcję alternatywną. Gdy ta sama funkcja peryferyjna jest podłączona do więcej niż jednego pinu lub kilka funkcji współdzieli jeden pin, można wybrać jedną z nich jawnie przez Pin.ALT – po nazwie:

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

lub po surowym indeksie:

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

Konstruktory

class pyb.PinAF

Obiekty PinAF nie są konstruowane bezpośrednio. Użyj Pin.af_list(), aby wyliczyć funkcje alternatywne dostępne na danym pinie.

Metody

__str__() str

Zwraca łańcuch znaków opisujący funkcję alternatywną (jej nazwę i indeks).

index() int

Zwraca indeks funkcji alternatywnej. Ta sama liczba całkowita jest akceptowana przez argument alt metody Pin.init().

name() str

Zwraca nazwę funkcji alternatywnej, na przykład "TIM2_CH3".

reg() int

Zwraca adres bazowy rejestru urządzenia peryferyjnego przypisanego do tej funkcji alternatywnej. Na przykład, gdyby funkcją alternatywną było TIM2_CH3, zwróciłoby to stm.TIM2.