引脚介绍

  引脚是控制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([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

  使能引脚上的上拉电阻

  

TPYBoard v102的GPIO使用用法的更多相关文章

  1. [Micropython]TPYBoard v102 DIY照相机

    摄像头(CAMERA或WEBCAM)又称为电脑相机.电脑眼.电子眼等,是一种视频输入设备,被广泛的运用于视频会议,安防系统 .图像采集系统. 环境监控 .工业现场过程控制 等方面.本实验用TPYBoa ...

  2. [TPYBoard - Micropython 之会python就能做硬件 9] 五分种学会用TPYBoard V102 制作避障小车(升级版)

    转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 感谢山东萝卜电子科技公司授权   一.实验器材 1.TPYboard V102板 ...

  3. TPYBoard v102 驱动28BYJ-48步进电机

    TPYBoard v102 驱动28BYJ-48步进电机 实验目的 了解步进电机的工作原理 学习步进电机的驱动方法 实验器材 TPYBoard v102 1块 微型步进电机(28BYJ-48) 1个 ...

  4. MicroPython教程之TPYBoard v102 CAN总线通信

    0x00前言 CAN是控制器局域网络(ControllerAreaNetwork,CAN)的简称,是ISO国际标准化的串行通信协议.CAN总线结构简单,只需2根线与外部相连,并且内部集成了错误探测和管 ...

  5. MicroPython之TPYBoard v102开发板控制OLED显示中文

    转载请以链接形式注明文章来源,公众号:MicroPython玩家汇 0x00前言 之前看到一篇文章是关于TPYBoardv102控制OLED屏显示的,看到之后就想尝试一下使用OLED屏来显示中文.最近 ...

  6. MicroPython开发板:TPYBoard v102 播放音乐实例

    0x00前言 前段时间看到TPYBoard的技术交流群(群号:157816561,)里有人问关于TPYBoard播放音乐的问题.最近抽空看了一下文档介绍,着手做了个实验.更多MicroPython的教 ...

  7. TPYBoard v102 DIY照相机(视频和制作流程)

    前段时间的帖子,利用TPYBoard v102做的DIY照相机,周末实物终于做出来了,加了两个按键模块和一个5110,做的有点糙啊----望大家勿怪,哈哈哈.拍出来图片还算清晰,串口摄像头模块用的30 ...

  8. [MicroPython]TPYBoard v102炫彩跑马灯WS2812B

    一.实验目的 了解ws2812b的工作原理 学习ws2812b的驱动方法 二.实验器材 TPYBoard v102 1块 ws2812b RGB-Ring-8 1个 micro USB数据线 1条 杜 ...

  9. Micropython TPYBoard v102 温湿度短信通知器(基于SIM900A模块)

    前言 前段时间看了追龙2,感受就是如果你是冲着追龙1来看追龙2的话,劝你还是不要看了,因为追龙2跟追龙1压根没什么联系,给我的感觉就像是看拆弹专家似的,估计追龙2这个名字就是随便蹭蹭追龙1的热度来的. ...

随机推荐

  1. SQL基础教程读书笔记-2

    4 数据更新 4.1数据的插入 1.清单{①列清单 ②值清单列清单和值清单的数量必须保持一致.原则上,执行一次INSERT语句会插入一行数据对表进行全列INSERT时,可以省略表名后的列清单2.插入默 ...

  2. HVR又一次load的时候须要将schedule suspend掉

    今天在进行HVR的又一次load的时候.报错了: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fi ...

  3. 十二、 Spring Boot 静态资源处理

    spring Boot 默认为我们提供了静态资源处理,使用 WebMvcAutoConfiguration 中的配置各种属性. 建议大家使用Spring Boot的默认配置方式,如果需要特殊处理的再通 ...

  4. CS:APP3e 深入理解计算机系统_3e Attacklab 实验

    详细的题目要求和资源可以到 http://csapp.cs.cmu.edu/3e/labs.html 或者 http://www.cs.cmu.edu/~./213/schedule.html 获取. ...

  5. MySQL 导入外部数据时报错:1153: Got a packet bigger than 'max_allowed_packet' 解决方案

    MySQL 导入外部数据时报错:1153: Got a packet bigger than 'max_allowed_packet' 解决方案 zoerywzhou@163.com http://w ...

  6. 理解Babel是如何编译JS代码的及理解抽象语法树(AST)

    Babel是如何编译JS代码的及理解抽象语法树(AST) 1. Babel的作用是?   很多浏览器目前还不支持ES6的代码,但是我们可以通过Babel将ES6的代码转译成ES5代码,让所有的浏览器都 ...

  7. restfull软件架构风格

    概念:restfull是一种软件架构风格,实现该风格不需导jar包,但要使用@PathVariable注解:特点:没有参数,没有扩展名优势: 1.安全 2.简洁高效 3.容易被搜索引擎所收录 如何利用 ...

  8. Java实现的电脑已连接WiFi热点的导入导出小工具

    很多时候我们电脑连接了很多无线WiFi,只要连接过一次,电脑就会记下该热点的密码,方便我们下一次连接.但是问题来了,一旦我们重装系统,之前连接过的WiFi就丢失了,想要连接就得再输入密码,为了 解决这 ...

  9. 3.更改ssh服务远程登录的配置

  10. JaveScript流程控制(JS知识点归纳四)

    01 流程控制 顺序结构: 程序的默认执行方式 条件判断语句:也称之为分支结构,选择结构:如果程序要执行的代码出现了多种情况需要使用 循环结构:当代码需要多次重复执行多次时,使用 02 条件判断语句 ...