TPYBoard v102的GPIO使用用法

发布时间:2017-9-25 15:42    发布者:bodasister
  引脚介绍

  引脚是控制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接口,更加完美。

                                  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")

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

  defMyMapper(pin_name):

  ifpin_name=="LeftMotorDir":

  returnpyb.Pin.cpu.A0


  pyb.Pin.mapper(MyMapper)


  基本用法


  初始化引脚in.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([value])

  获取或设置引脚的数字逻辑电平:

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

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


  Pin.af_list()

  返回引脚可用的备用函数数组

  Pin.af_list(pyb.Pin.board.X1)

  Pin.af_list(LED)


  Pin.name()

  获取引脚名称返回当前配置的引脚模式。返回的整数将匹配init函数的mode参数的允许常量之一in.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

  使能引脚上的上拉电阻



本文地址:https://www.eechina.com/thread-517296-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

  • Microchip视频专区
  • 利用模拟开发工具生态系统进行安全电路设计
  • 深度体验Microchip自动辅助驾驶应用方案——2025巡展开启报名!
  • 想要避免发生灾难,就用MPLAB SiC电源仿真器!
  • Cortex-M4外设 —— TC&TCC结合事件系统&DMA优化任务培训教程
  • 贸泽电子(Mouser)专区
关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表