查看: 2103|回复: 0
打印 上一主题 下一主题

[ESP8266]Pin的用法

[复制链接] qrcode

36

主题

42

帖子

123

积分

注册会员

Rank: 2

积分
123
楼主
跳转到指定楼层
发表于 2016-7-28 10:56 PM | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Pin的用法

在ESP8266中,Pin的用法和在pyboard(STM32)中有不少区别。

  • 定义Pin
    class machine.Pin(id, ...)


方法

  • Pin.init(mode, pull=None, *, value)
    初始化
    mode
    • Pin.IN,输入
    • Pin.OUT,输出
    pull
    • NONE,无
    • Pin.PULL_UP,上拉
    value:输出电平

  • Pin.value([value])
    不带参数时是读取输入电平,带参数时是设置输出电平。参数可以是True/False,也可以是1/0。

  • Pin.low()
  • Pin.high()
    设置输出电平

  • Pin.irq(*, trigger, handler=None)
    中断
    trigger,触发方式
    • Pin.IRQ_FALLING,下降沿
    • Pin.IRQ_RISING,上升沿
    • Pin.IN,上升下降沿
    handler,回调函数


常数

下面的常数用于配置 pin。注意不是没股份端口都有全部的属性。

  • Pin.IN
  • Pin.OUT
  • Pin.OPEN_DRAIN
  • Pin.ALT
  • Pin.ALT_OPEN_DRAIN
    选择 pin 模式

  • Pin.PULL_UP
  • Pin.PULL_DOWN
    设置上拉/下拉电阻。

  • Pin.LOW_POWER
  • Pin.MED_POWER
  • Pin.HIGH_POWER
    设置驱动能力

  • Pin.IRQ_FALLING
  • Pin.IRQ_RISING
  • Pin.IRQ_LOW_LEVEL
  • Pin.IRQ_HIGH_LEVEL
    设置 IRQ 触发类型。




例子

  1. from machine import Pin

  2. CS = Pin(2, Pin.OUT)
  3. CS(1)
  4. CS(0)
  5. CS.value()
  6. CS.value(1)
  7. CS.high()
  8. CS.low()

  9. sw=Pin(0, Pin.IN)
  10. sw()
  11. sw.irq(trigger=Pin.IRQ_FALLING, handler=lambda t:led.value(not led.value()))
复制代码



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表