立即注册

扫一扫,访问微社区

micropython-microbit 中文社区

查看: 112|回复: 4

请教ESP8266控制管脚电平的有效方法

  [复制链接]

该用户从未签到

发表于 2019-5-10 13:10:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
from machine import Pin
Pin(5,Pin.OUT).value(1)Pin(5,Pin.OUT).on()
以上两种方法都无法使D5(GPIO14)电平变高。
怎样才能有效控制管脚电平?



手机扫码浏览
回复

使用道具 举报

  • TA的每日心情
    开心
    2019-5-12 11:06
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    发表于 2019-5-10 13:39:49 | 显示全部楼层
    在ESP8266中,Pin的输出不是用on()/off()控制,而是high()/low()控制,也可以用value(),更直接就是输出1或0。如:

    1. CS = Pin(2, Pin.OUT)
    2. CS(1)
    3. CS(0)
    4. CS.value()
    5. CS.value(1)
    6. CS.high()
    7. CS.low()
    复制代码

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-5-10 16:00:29 | 显示全部楼层
    应该直接用GPIO的编号吧,D5(GPIO14) 应该用Pin(14,Pin.OUT).value(1).
    D5是Arduion中的映射吧。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

     楼主| 发表于 2019-5-10 18:36:03 | 显示全部楼层
    本帖最后由 gddcx 于 2019-5-10 18:39 编辑
    flishmen 发表于 2019-5-10 16:00
    应该直接用GPIO的编号吧,D5(GPIO14) 应该用Pin(14,Pin.OUT).value(1).
    D5是Arduion中的映射吧。 ...

    感谢指点。用GPIO14中的14就成功了。
    另外:
    >>> led.high()
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AttributeError: 'Pin' object has no attribute 'high'
    不能用high()/low(),要用on()/off,是不是版本问题呢?但用value(1)/value(0)更直接。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-5-12 11:06
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    发表于 2019-5-10 21:19:52 | 显示全部楼层
    gddcx 发表于 2019-5-10 18:36
    感谢指点。用GPIO14中的14就成功了。
    另外:
    >>> led.high()

    ESP8266不支持high()/low(),pyboard支持。

    现在micropython为了在不同硬件之间更加容易移植程序,设置了一个新的用法:

    machine.Signal

    以ESP8266为例:

    1. from machine import Pin, Signal

    2. LED_Pin = Pin(2, Pin.OUT)
    3. LED = Signal(LED_Pin, invert = True)

    4. LED.on()
    复制代码


    使用Signal,可以在不同硬件之间使用相同的方法控制GPIO。

    invert参数代表输出是否翻转,这样即使GPIO连接方式不同,也不需要修改程序,只需要在初始化中设置invert就可以了。
    回复 支持 反对

    使用道具 举报

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

    Archiver|手机版|小黑屋|micropython-microbit 中文社区 ( 鄂ICP备17012469号 )

    GMT+8, 2019-6-20 13:41 , Processed in 0.107294 second(s), 20 queries .

    Powered by Discuz! X3.4

    © 2001-2013 Comsenz Inc.

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