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