TPYBoard v102的GPIO用法 | 系列教程 | 技术支持 | MicroPython


当前位置:首页>技术支持>系列教程>TPYBoard v102的GPIO用法

TPYBoard v102的GPIO用法

引脚介绍

 

引脚是控制I / O引脚的基本对象。它可以设置引脚输入、输出等的方式或者获取和设置数字逻辑电平的。对于模拟控制引脚,请参见ADC类。TPYBoard一共有68根针脚,263.3VVIN接口;30个通用IO口,包括2SPI接口,2CAN接口,2I2C接口,5USART接口,1412bit ADC接口,2DAC引脚,并且比官方PYBoard增加了SWD接口,更加完美。

TPYBoardv102实物图

     

v102.jpg

TPYboard 所有的引脚都定义为pyb.Pin.board.Name

y1 = pyb.Pin.board.Y1
in = pyb.Pin(pyb.Pin.board.Y1, pyb.Pin.IN)

也可以这样使用

y1 = pyb.Pin('Y1', pyb.Pin.OUT_PP)
#定义GPIO: pyb.Pin(id)
LED1=Pin(Pin.cpu.A13, Pin.OUT_PP)
sw = Pin("X17")
sw = Pin('X17', Pin.IN, Pin.PULL_UP)
sw = Pin(Pin(Pin.cpu.B3, Pin.IN, Pin.PULL_UP)

TPYBoard引脚的CPU引脚可用作pyb.cpu.Name。对于CPU引脚,在TPYBoard上,pyb.Pin.board.X1并且 pyb.Pin.cpu.A0是相同的引脚。

 

同时也可以自己定义引脚名称

MyMapperDict = { 'LeftMotorDir' : pyb.Pin.cpu.C12 }
pyb.Pin.dict(MyMapperDict)
g = pyb.Pin("LeftMotorDir", pyb.Pin.OUT_OD)
 
#可以映射GPIO
pin = pyb.Pin("LeftMotorDir")

甚至可以通过函数添加自己的映射功能

def MyMapper(pin_name):
    if pin_name == "LeftMotorDir":
        return pyb.Pin.cpu.A0
 
pyb.Pin.mapper(MyMapper)

基本用法

初始化引脚: Pin.init(mode, pull=Pin.PULL_NONE, af=-1) 

  • Mode(引脚模式)可以是以下几种方式:

    • Pin.IN - 输入

    • Pin.OUT_PP - 推挽输出(push-pull)

    • Pin.OUT_OD - 开漏输出(open-drain)

    • Pin.AF_PP - 第二功能,推挽模式

    • Pin.AF_OD - 第二功能,开漏模式

    • Pin.ANALOG - 模拟功能

  •  pull

    • Pin.PULL_NONE - 无上拉下拉

    • Pin.PULL_UP - 上拉

    • Pin.PULL_DOWN - 下拉当模式

  • af,当mode是Pin.AF_PP或Pin.AF_OD时,选择第二功能索引或名称

获取或设置引脚的数字逻辑电平: Pin.value([ value ] )

  • 没有参数,根据引脚的逻辑电平返回0或1。

  • 设定value值,value如果转换为True,则引脚设置为高电平,否则设置为低电平。