not logged in | [Login]
Here we show how to control Pins using the pyb.Pin interface. The programmers guide is here.
g = pyb.Pin(pin_id, mode, pull) # mode and pull are optional arguments and default to input and no-pullup
# e.g. if:
# X1 is how the pin is labeled on the board,
# using X1 for output to control an LED,
# we want a pullup resistor on the output.
g = pyb.Pin('X1', pyb.Pin.OUT_PP, Pin.PULL_UP)
g.
There are several ways to identify the pin to control.
mypin = pyb.Pin.board.X1
mypin = pyb.Pin.cpu.C12
pyb.Pin.dict["LeftMotorDir"] = pyb.Pin.cpu.C12
mypin = pyb.Pin("LeftMotorDir")
and use it like so g = pyb.Pin(mypin, pyb.Pin.OUT_PP)
or g = pyb.Pin(mypin, pyb.Pin.OUT_PP, Pin.PULL_UP)
A Pin can act in one of the following modes.
Pin.IN
- configure the pin for inputPin.OUT_PP
- configure the pin for output, with push-pull controlPin.OUT_OD
- configure the pin for output, with open-drain controlPin.AF_PP
- configure the pin for alternate function, pull-pullPin.AF_OD
- configure the pin for alternate function, open-drainPin.ANALOG
- configure the pin for analog.You would use Push-pull control to do ... and Open-drain to ...
A Pin can have the following pullup settings:
Pin.PULL_NONE
- no pull up or down resistors - This is the defaultPin.PULL_UP
- enable the pull-up resistorPin.PULL_DOWN
- enable the pull-down resistorLast edited by Nicholas Herriot, 2019-05-22 11:34:51