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([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使用用法的更多相关文章
- [Micropython]TPYBoard v102 DIY照相机
摄像头(CAMERA或WEBCAM)又称为电脑相机.电脑眼.电子眼等,是一种视频输入设备,被广泛的运用于视频会议,安防系统 .图像采集系统. 环境监控 .工业现场过程控制 等方面.本实验用TPYBoa ...
- [TPYBoard - Micropython 之会python就能做硬件 9] 五分种学会用TPYBoard V102 制作避障小车(升级版)
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 感谢山东萝卜电子科技公司授权 一.实验器材 1.TPYboard V102板 ...
- TPYBoard v102 驱动28BYJ-48步进电机
TPYBoard v102 驱动28BYJ-48步进电机 实验目的 了解步进电机的工作原理 学习步进电机的驱动方法 实验器材 TPYBoard v102 1块 微型步进电机(28BYJ-48) 1个 ...
- MicroPython教程之TPYBoard v102 CAN总线通信
0x00前言 CAN是控制器局域网络(ControllerAreaNetwork,CAN)的简称,是ISO国际标准化的串行通信协议.CAN总线结构简单,只需2根线与外部相连,并且内部集成了错误探测和管 ...
- MicroPython之TPYBoard v102开发板控制OLED显示中文
转载请以链接形式注明文章来源,公众号:MicroPython玩家汇 0x00前言 之前看到一篇文章是关于TPYBoardv102控制OLED屏显示的,看到之后就想尝试一下使用OLED屏来显示中文.最近 ...
- MicroPython开发板:TPYBoard v102 播放音乐实例
0x00前言 前段时间看到TPYBoard的技术交流群(群号:157816561,)里有人问关于TPYBoard播放音乐的问题.最近抽空看了一下文档介绍,着手做了个实验.更多MicroPython的教 ...
- TPYBoard v102 DIY照相机(视频和制作流程)
前段时间的帖子,利用TPYBoard v102做的DIY照相机,周末实物终于做出来了,加了两个按键模块和一个5110,做的有点糙啊----望大家勿怪,哈哈哈.拍出来图片还算清晰,串口摄像头模块用的30 ...
- [MicroPython]TPYBoard v102炫彩跑马灯WS2812B
一.实验目的 了解ws2812b的工作原理 学习ws2812b的驱动方法 二.实验器材 TPYBoard v102 1块 ws2812b RGB-Ring-8 1个 micro USB数据线 1条 杜 ...
- Micropython TPYBoard v102 温湿度短信通知器(基于SIM900A模块)
前言 前段时间看了追龙2,感受就是如果你是冲着追龙1来看追龙2的话,劝你还是不要看了,因为追龙2跟追龙1压根没什么联系,给我的感觉就像是看拆弹专家似的,估计追龙2这个名字就是随便蹭蹭追龙1的热度来的. ...
随机推荐
- 自己实现String.prototype.trim方法
今天呢 知乎看到一道题 说是网易面试题,要求自己写一个trim()方法, 实现 var str = " a sd "; 去掉字符串两端的空格. 直接上码 var str ...
- Linux 两台服务器之间传输文件和文件夹
今天处理一个项目要迁移的问题,突然发现这么多图片怎么移过去,可能第一时间想到的是先从这台服务器下载下来,然后再上传到另外一台服务器上面去,这个方法确实是可行,但是实在是太费时间了,今天我就教大家怎么快 ...
- C# httpclient获取cookies实现模拟web登录
目前在公司做一款平台化的产品,我主要负责PC端上的开发,在产品推荐过程中为了节省开发时间很多功能模块没来得及做原生,用CEF嵌入了很多带功能web页面,与客户端进行交互从而实现功能. 在二期开发中,产 ...
- 机器学习笔记1 - Hello World In Machine Learning
前言 Alpha Go在16年以4:1的战绩打败了李世石,17年又以3:0的战绩战胜了中国围棋天才柯洁,这真是科技界振奋人心的进步.伴随着媒体的大量宣传,此事变成了妇孺皆知的大事件.大家又开始激烈的讨 ...
- 用KMP算法实现strStr()
strStr()函数的用途是在一个字符串S中寻找某个字串P第一次出现的位置.并返回其下标,找不到时返回-1.最简单的办法就是找出S全部的子串和P进行比較,然而这种方法比較低效.假设我们从S的下标0和P ...
- 《Deep Learning》译文 第一章 前言(中) 神经网络的变迁与称谓的更迭
转载请注明出处. 第一章 前言(中) 1.1 本书适合哪些人阅读? 能够说本书的受众目标比較广泛,可是本书可能更适合于例如以下的两类人群.一类是学习过与机器学习相关课程的大学生们(本科生或者研究生). ...
- LintCode-丑数
设计一个算法.找出仅仅含素因子3,5,7 的第 k 大的数. 符合条件的数如:3.5.7,9,15...... 您在真实的面试中是否遇到过这个题? Yes 例子 假设k=4, 返回 9 挑战 要求时间 ...
- 解决 PclZip 中文乱码问题
在使用 Pclzip 时出现无法压缩/解压文件的现象,追踪错误信息发现无法打开文件/文件夹.可是文件夹权限正确,打印文件路径之后发现是乱码. 出现这个问题的解决办法是windows下zip内的 ...
- Codeforces 29D Ant on the Tree 树的遍历 dfs序
题目链接:点击打开链接 题意: 给定n个节点的树 1为根 则此时叶子节点已经确定 最后一行给出叶子节点的顺序 目标: 遍历树并输出路径.要求遍历叶子节点时依照给定叶子节点的先后顺序訪问. 思路: 给每 ...
- 利用反射操作bean的属性和方法
今天在开发中碰到这样一个场景:当请求添加项目下的目录时,传过来的是一个IndexModel,这个Model里有关于这个目录字段的详细信息,包括基础报表,实时,漏斗等信息(这些字段类型都是boolean ...