引脚介绍

  引脚是控制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. 自学Python全栈开发第一次笔记

           我已经跟着视频自学好几天Python全栈开发了,今天决定听老师的,开始写blog,听说大神都回来写blog来记录自己的成长. 我特别认真的跟着这个视频来学习,(他们开课前的保证书,我也写 ...

  2. Spark之搜狗日志查询实战

    1.下载搜狗日志文件: 地址:http://www.sogou.com/labs/resource/chkreg.php 2.利用WinSCP等工具将文件上传至集群. 3.创建文件夹,存放数据: mk ...

  3. Azure ARM (19) 将传统的ASM VM迁移到ARM VM (2)

    <Windows Azure Platform 系列文章目录> 因为我们在上一节中: Azure ARM (18) 将传统的ASM VM迁移到ARM VM (1) 已经创建了Azure V ...

  4. Sencha Cmd 6 和 Ext JS 6 指南文档(部分官方文档中文翻译)

    近期组织了几个程序员网友,正在翻译一部分官方的Sencha Cmd 6 和 Ext JS 6 指南文档. 眼下还没翻译完,大家能够先看看 Sencha Cmd 6 和 Ext JS 6 指南文档  ( ...

  5. android手机状态解释,比方android.os.Build.VERSION.SDK

    //BOARD 主板 String phoneInfo = "BOARD: " + android.os.Build.BOARD; phoneInfo += ", BOO ...

  6. windows 环境安装oracle11g db 或者RAC 防火墙必需要透过的进程,port

    1.Firewall Exceptions for Oracle Database For basic database operation and connectivity from remote ...

  7. 经常使用的C#代码(每日更新)

    欢迎使用该软件,软件中包括了经常使用的代码.而且每日更新. 该软件还在开发中,O(∩_∩)O~ 目的: 1.提高工作效率 2.格式化代码,方便阅读 3.必备工具 4.偷懒专用 watermark/2/ ...

  8. 为什么MOBA、“吃鸡”游戏不推荐用tcp协议——实测数据

    欢迎大家前往云加社区,获取更多腾讯海量技术实践干货哦~ 作者:腾讯云游戏行业资深架构师 余国良 MOBA类和"吃鸡"游戏为什么对网络延迟要求高? 我们知道,不同类型的游戏因为玩法. ...

  9. Python 项目实践一(外星人入侵)第一篇

    python断断续续的学了一段实践,基础课程终于看完了,现在跟着做三个小项目,第一个是外星人入侵的小游戏: 一 Pygame pygame 是一组功能强大而有趣的模块,可用于管理图形,动画乃至声音,让 ...

  10. 在Azure Container Service创建Kubernetes(k8s)群集运行ASP.NET Core跨平台应用程序

    引子 在此前的一篇文章中,我介绍了如何在本地docker环境中运行ASP.NET Core跨平台应用程序(http://www.cnblogs.com/chenxizhang/p/7148657.ht ...