class PinAF – funções alternativas de pinos

Cada pino STM32 pode funcionar como GPIO simples ou como uma das várias funções alternativas de periféricos (UART4_TX, I2C2_SCL, TIM2_CH3, etc.). Um objeto PinAF descreve uma única função alternativa que está ligada a um determinado pino, e é o que Pin.af_list() devolve.

Modelo de utilização:

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

p4_af contém agora a lista de objetos PinAF disponíveis em P4. A lista exata depende do MCU STM32 na OpenMV Cam em uso.

Normalmente cada driver de periférico configura automaticamente a função alternativa de que necessita. Quando a mesma função periférica está ligada a mais de um pino, ou várias funções partilham um pino, pode escolher uma explicitamente através de Pin.ALT pelo nome:

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

ou pelo índice direto:

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

Construtores

class pyb.PinAF

Os objetos PinAF não são construídos diretamente. Use Pin.af_list() para enumerar as funções alternativas disponíveis num determinado pino.

Métodos

__str__() str

Devolve uma cadeia de caracteres que descreve a função alternativa (o seu nome e índice).

index() int

Devolve o índice da função alternativa. O mesmo inteiro é aceite pelo argumento alt de Pin.init().

name() str

Devolve o nome da função alternativa, por exemplo "TIM2_CH3".

reg() int

Devolve o endereço base do registo do periférico atribuído a esta função alternativa. Por exemplo, se a função alternativa fosse TIM2_CH3, devolveria stm.TIM2.