【问题标题】:Raspberry Pi GPIO stops working after some timeRaspberry Pi GPIO 一段时间后停止工作
【发布时间】:2018-10-17 22:04:43
【问题描述】:

在 Raspberry PI 上使用 GPIO 库并具有如下示例代码时:

while True:
    GPIO.setup(21, GPIO.OUT)
    pwm = GPIO.PWM(21, 50)
    pwm.start(0)

    for i in range(0, 101, 2):
        pwm.ChangeDutyCycle(i)
        time.sleep(0.03)
    for i in range(100, -1, -2):
        pwm.ChangeDutyCycle(i)
        time.sleep(0.03)

    pwm.stop()
    GPIO.cleanup(21)

    time.sleep(1)

代码可能会在一段时间后突然停止。没有错误,只是不再识别通过 pwm 进行的更改。有人知道这是为什么吗?

【问题讨论】:

    标签: raspberry-pi raspberry-pi3 raspberry-pi2 gpio


    【解决方案1】:

    此问题已在旧的 sourceforge 存储库中提及:

    https://sourceforge.net/p/raspberry-gpio-python/tickets/111/

    https://sourceforge.net/p/raspberry-gpio-python/tickets/94/

    这是因为 GPIO 库默认为每次调用创建一个新的 pthread,之后不进行清理,但线程数可能限制在 250 个左右。

    我创建了这个 repo (https://github.com/wuestkamp/raspberry-gpio-python) 的一个分支,它解决了这个问题,并包含有关如何在你的 PI 上使用它的说明。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-15
      相关资源
      最近更新 更多