MicroPython之GPIO 通用型输入输出(基于pyboard)(一)
?? GPIO (General Purpose Input Output )在做嵌入式开发是最基本的,前面使用的LED ,按键,等,都是通过GPIO 来实现的。pyboard 当然也不例外,也提供了GPIO ,实际就是使用板载stm32 芯片的GPIO 。MicroPython 的GPIO 使用是定义在pyb.Pin 包下。
?? 每一个 GPIO ,我们可以控制其输出的高低电平,读取电平值,设置引脚模式(输入,输出等),当然也可以作为模拟接口,以及复用为其他外设端口。
Pin类说明
1. Pin类
class pyb.Pin(id, ...)
?? 说明: 引脚类定义,创建引脚对象,传入的参数用于初始化Pin对象,具体在pin.init() 中执行。
2. Pin类的静态方法
classmethod Pin.debug([state])
?? 说明: 获取或设置调试状态(True 为打开,False 为关闭)。
classmethod Pin.dict([dict])
?? 说明: 获取或者设置引脚映射字典,就是获取或设置各个引脚的映射名称,这样可以方便初始化Pin时确定引脚。
classmethod Pin.mapper([fun])
?? 说明: 获取或设置引脚映射函数。
3. Pin类的成员方法
Pin.init(mode, pull=Pin.PULL_NONE, \*, value=None, alt=-1)
?? 说明: 初始化函数是最重要的,用于初始化引脚。参数说明:
?? ?? mode —设置引脚模式: ?? ???? ?? - Pin.IN :输入模式 ?? ???? ?? - Pin.OUT_PP :配置用于输出的引脚,并使用推挽模式 ?? ???? ?? - Pin.OUT_OD :配置引脚输出,采用开漏模式 ?? ???? ?? - Pin.AF_PP :复用,推挽模式 ?? ???? ?? - Pin.AF_OD :复用,开漏模式 ?? ???? ?? - Pin.ANALOG :模拟输入输出
?? ?? pull —设置引脚模式: ?? ???? ?? - Pin.PULL_NONE :无上下拉 ?? ???? ?? - Pin.PULL_UP :上拉 ?? ???? ?? - Pin.PULL_DOWN :下拉
?? ?? value —如果不是None ,则会在初始化设置引脚的值
?? ?? alt —设置引脚的复用功能。该参数仅仅在mode 为Pin.AF_PP 或者Pin.AF_OD 下才可以。我们可以通过该参数设置引脚具体复用为某个外设,例如ADC ,SUART 等。
?? ?? return —返回值为None
Pin.value([value])
?? 说明: 获取或者设置引脚电平,当value 参数没有给定,则会返回引脚电平值。高电平为True ,低电平为False 。如果value 给定,只要value 可以转化为布尔型,则会设置引脚电平,True 对应高电平,False 对应低电平。
Pin.__str__()
?? 说明: 返回描述引脚对象的字符串。
Pin.af()
?? 说明: 返回引脚的复用功能。
Pin.af_list()
?? 说明: 返回该引脚的所有可以复用功能,是一个数组。
Pin.gpio()
?? 说明: 返回该引脚关联的GPIO 块的基址。
Pin.mode()
?? 说明: 返回该引脚所配置的模式,取值同init 函数的mode 参数取值。
Pin.name()
?? 说明: 返回该引脚的名称。
Pin.names()
?? 说明: 返回该引脚的板子上和CPU 上的名称。
Pin.pin()
?? 说明: 返回该引脚的引脚号。
Pin.port()
?? 说明: 返回该引脚的端口pin port 。
Pin.pull()
?? 说明: 返回该引脚所配置的上下拉模式,取值同init 函数的pull 参数取值。
?? 以下是一些常数:
序号 | 名称 | 说明 |
---|
1 | Pin.AF_OD | 开漏模式 复用模式 | 2 | Pin.AF_PP | 推挽模式 复用模式 | 3 | Pin.ANALOG | 模拟模式 | 4 | Pin.IN | 输入模式 | 5 | Pin.OUT_OD | 开漏模式 输出模式 | 6 | Pin.OUT_PP | 推挽模式 输出模式 | 7 | Pin.PULL_DOWN | 下拉电阻模式 | 8 | Pin.PULL_NONE | 无上下拉电阻 | 9 | Pin.PULL_UP | 上拉电阻模式 |
|