клас PinAF – альтернативні функції виводів

Кожен вивід STM32 може слугувати як звичайний GPIO або як одна з кількох альтернативних функцій периферійних пристроїв (UART4_TX, I2C2_SCL, TIM2_CH3 тощо). Об’єкт PinAF описує одну альтернативну функцію, підключену до конкретного виводу, і саме це повертає Pin.af_list().

Приклад використання:

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

p4_af тепер містить список об’єктів PinAF, доступних на P4. Точний список залежить від MCU STM32 на використовуваному OpenMV Cam.

Зазвичай кожен драйвер периферійного пристрою автоматично налаштовує потрібну альтернативну функцію. Якщо одна і та ж функція периферійного пристрою підключена до кількох виводів або кілька функцій спільно використовують один вивід, можна явно вибрати одну з них через Pin.ALT за назвою:

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

або за числовим індексом:

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

Конструктори

class pyb.PinAF

Об’єкти PinAF не створюються безпосередньо. Використовуйте Pin.af_list() для перелічення альтернативних функцій, доступних на заданому виводі.

Методи

__str__() str

Повернути рядок з описом альтернативної функції (її назву та індекс).

index() int

Повернути індекс альтернативної функції. Це саме ціле число приймається аргументом alt у Pin.init().

name() str

Повернути назву альтернативної функції, наприклад "TIM2_CH3".

reg() int

Повернути базову адресу регістру периферійного пристрою, призначеного цій альтернативній функції. Наприклад, якщо альтернативна функція – TIM2_CH3, повертається stm.TIM2.