如何解决Raspberry PI:I2C 引脚上的 GPIOZERO
这是在树莓派上。
我能够使用 Python 使 I2C-1 在 PI 上正常工作。
然后我运行了另一个 Python 脚本,该脚本使用 GPIOZERO 库将一个 I2C 引脚用作 GPIO。
from gpiozero import LED
i2cpin = LED("BOARD3")
i2cpin.on()
time.sleep(1)
i2cpin.off()
i2cpin.close()
然而,当我回到第一个程序时,I2C 停止工作。
我认为 close() 会将 pin 函数恢复为默认的 I2C 函数,但事实并非如此。 我也确认使用
i2cdetect -y 1
并确认 I2C 确实不起作用。
无需重新启动,如何使用 python 以编程方式将引脚重新编程回 I2C 函数?
解决方法
好的....对于那些面临同样问题的人,这是我的解决方法
在我需要使用 I2C 的程序中,我将始终重新加载 I2C 模块,它会负责引脚配置。不漂亮,但对我有用。
import subprocess
def main():
subprocess.call(['sudo','rmmod','i2c_dev'])
subprocess.call(['sudo','i2c_bcm2835'])
subprocess.call(['sudo','modprobe','i2c_bcm2835'])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。