class Pin – control I/O pins
管脚是控制I/O管脚的基本对象。它有设置管脚模式的方法(输入、输出等)和获取和设置数字逻辑电平的方法。有关管脚的模拟控制,请参见ADC类。
使用模型:
所有板针都预先定义为pyb.Pin.board.name:
与电路板插脚对应的CPU插脚可用作pyb.Pin.cpu.name。对于CPU管脚,名称是端口号后跟管脚号。在pybv1.0上,pyb.Pin.board.x1和pyb.Pin.cpu.a0是相同的pin。
您还可以使用字符串:
用户可以添加自己的名称:
并且可以查询映射:
用户还可以添加自己的映射函数:
因此,如果您要调用:pyb.Pin(“leftmotordir”,pyb.Pin.out_pp),那么“leftmotordir”将直接传递给mapper函数。
综上所述,以下顺序决定了如何将事物映射到有序的管脚编号中:
1 . 直接指定Pin对象
2 . 用户提供的映射函数
3 . 用户提供的映射(对象必须可用作字典键)
4 . 提供一个与板针匹配的字符串
5 . 提供与CPU端口/插针匹配的字符串
可以设置pyb.pin.debug(True)以获取有关如何将特定对象映射到pin的调试信息。
当一个插脚启用了pin.pull-up或pin.pull-down拉模式时,该插脚有一个有效的40k欧姆电阻,分别将其拉至3v3或GND(具有11k欧姆电阻的插脚Y5除外)。
现在,每次在GPIO管脚上看到下降沿时,都会执行回调。
注意:机械按钮有“弹跳”功能,按下或松开开关通常会产生多个边。请参阅:http://www.eng.utah.edu/~cs5780/debouncing.pdf了解详细的解释,以及各种去块技术。
所有的pin对象都通过pin映射器得到一个gpio pin。
构造类:
创建与ID关联的新pin对象。如果提供了其他参数,则这些参数用于初始化pin。请参见pin.init()。
Pin类方法:
获取或设置调试状态(开或关为真或假)。
获取或查看Pin文件夹字典。
获取或设置pin mapper函数。
方法:
初始化PIN:
模式可以是:(Pin后面的字母全大写)
Pin.IN-为输入配置pin;
Pin.out_pp-配置输出的pin,带有推挽输出;
Pin.out_od-配置输出的pin,带开漏控制;
Pin.af_pp-为其它功能配置pin,拉动;
Pin.af_od-为其它功能配置pin,带开漏控制;
Pin.Analog-为模拟配置Pin。
拉动可以是以下之一:(Pin后面的字母全大写)
Pin.PULL_NONE-无上拉或下拉电阻;
Pin.pull-up-启用上拉电阻器;
Pin.PULL_DOWN启用下拉电阻;
当模式为pin.af_pp或pin.af_od时,af可以是与pin关联的备用函数之一的索引或名称。
Returns: <code>None</code>.
Pin.<code>value</code>([value])
获取或设置管脚的数字逻辑电平:
如果没有参数,则根据管脚的逻辑级别返回0或1。
给定值后,设置管脚的逻辑电平。值可以是任何转换 为布尔值的值。如果转换为真,则将管脚设置为高,否则将设置为低。
<code>Pin.</code><code>gpio</code>()
返回与此pin关联的gpio块的基址。
<code>Pin.</code><code>name</code>()
Get the pin name.
<code>Pin.</code><code>names</code>()
Returns the cpu and board names for this pin.
<code>Pin.</code><code>pin</code>()
Get the pin number.
<code>Pin.</code><code>port</code>()
Get the pin port.