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 | 上拉电阻模式 |
|