class PinAF – alternatieve pinfuncties

Elke STM32-pin kan dienen als gewone GPIO of als een van meerdere alternatieve randapparaatfuncties (UART4_TX, I2C2_SCL, TIM2_CH3, enz.). Een PinAF-object beschrijft één alternatieve functie die aan een bepaalde pin is bedraad, en is wat Pin.af_list() retourneert.

Gebruiksmodel:

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

p4_af bevat nu de lijst met PinAF-objecten die beschikbaar zijn op P4. De exacte lijst hangt af van de STM32-MCU op de gebruikte OpenMV Cam.

Normaal gesproken configureert elke randapparaatdriver de alternatieve functie die hij nodig heeft automatisch. Wanneer dezelfde randapparaatfunctie aan meer dan één pin is bedraad, of meerdere functies een pin delen, kun je er één expliciet kiezen via Pin.ALT, ofwel op naam:

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

of op ruwe index:

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

Constructors

class pyb.PinAF

PinAF-objecten worden niet rechtstreeks geconstrueerd. Gebruik Pin.af_list() om de alternatieve functies op te sommen die op een bepaalde pin beschikbaar zijn.

Methoden

__str__() str

Retourneer een string die de alternatieve functie beschrijft (de naam en index ervan).

index() int

Retourneer de index van de alternatieve functie. Hetzelfde getal wordt geaccepteerd door het alt-argument van Pin.init().

name() str

Retourneer de naam van de alternatieve functie, bijvoorbeeld "TIM2_CH3".

reg() int

Retourneer het basisregisteradres van het randapparaat dat aan deze alternatieve functie is toegewezen. Als de alternatieve functie bijvoorbeeld TIM2_CH3 zou zijn, zou dit stm.TIM2 retourneren.