TPYBoard v102的GPIO使用方法
引脚介绍引脚是控制I/O引脚的基本对象。它可以设置引脚输入、输出等的方式或者获取和设置数字逻辑电平的。对于模拟控制引脚,请参见ADC类。TPYBoard一共有68根针脚,26个3.3V,VIN接口;30个通用IO口,包括2个SPI接口,2个CAN接口,2个I2C接口,5个USART接口,14个12bitADC接口,2个DAC引脚,并且比官方PYBoard增加了SWD接口,更加完美。
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")
甚至可以通过函数添加自己的映射功能
defMyMapper(pin_name):
ifpin_name=="LeftMotorDir":
returnpyb.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-下拉
当模式为Pin.AF_PP或Pin.AF_OD,AF可以是与引脚相关的备用功能之一的索引或名称
Pin.value()
获取或设置引脚的数字逻辑电平:
没有参数,根据引脚的逻辑电平返回0或1。
设定value值,value如果转换为True,则引脚设置为高电平,否则设置为低电平。
Pin.af_list()
返回引脚可用的备用函数数组
Pin.af_list(pyb.Pin.board.X1)
Pin.af_list(LED)
Pin.name()
获取引脚名称返回当前配置的引脚模式。返回的整数将匹配init函数的mode参数的允许常量之一:Pin.mode()
获取/设置debug状态:Pin.debug(state)
Pin.debug(True)
Pin.dict(dict)
获取/设置GPIO映射
MyMapperDict={'LeftMotorDir':pyb.Pin.cpu.C12}
pyb.Pin.dict(MyMapperDict)
Pin.mapper(func)
获取/设置Pin映射
Pin.__str__()
返回描述针对象的字符串
Pin.af()
返回当前配置的引脚交替功能。返回的整数将匹配init函数的af参数的允许常量之一
Pin.gpio()
返回与该引脚相关联的GPIO块的基址
Pin.mode()
返回当前配置的引脚模式。返回的整数将匹配init函数的mode参数的允许常量之一
Pin.names()
返回此引脚的cpu和板名称
Pin.pin()
获取引脚号
Pin.port()
获取pin端口
Pin.pull()
返回当前配置的引脚拉。返回的整数将匹配init函数的拉参数的允许常量之一。
常量
Pin.AF_OD
使用开漏驱动器将引脚初始化为交替功能模式
Pin.AF_PP
使用推挽式驱动将引脚初始化为交替功能模式
Pin.ANALOG
将引脚初始化为模拟模式
Pin.IN
将引脚初始化为输入模式
Pin.OUT_OD
使用开漏驱动器将引脚初始化为输出模式
Pin.OUT_PP
通过推挽式驱动将引脚初始化为输出模式
Pin.PULL_DOWN
使能引脚上的下拉电阻
Pin.PULL_NONE
不要使能引脚上的任何上拉或下拉电阻
Pin.PULL_UP
使能引脚上的上拉电阻
页:
[1]