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

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,则引脚设置为高电平,否则设置为低电平。 




