[英]Raspberry PI : GPIOZERO on I2C pins
这是在树莓派上。
我能够使用 Python 让 I2C-1 在 PI 上正常工作。
然后我运行另一个 Python 脚本,该脚本使用 GPIOZERO 库将其中一个 I2C 引脚用作 GPIO。
from gpiozero import LED
i2cpin = LED("BOARD3")
i2cpin.on()
time.sleep(1)
i2cpin.off()
i2cpin.close()
但是,当我 go 回到第一个程序时,I2C 停止工作。
我认为 close() 会将引脚 function 恢复为默认 I2C function 但它没有。 我也确认使用
i2cdetect -y 1
并确认 I2C 确实不起作用。
无需重新启动,如何使用 python 以编程方式将引脚重新编程回 I2C function?
好的....对于那些面临同样问题的人,这是我的解决方法
在我需要使用 I2C 的程序中,我总是会重新加载 I2C 模块,它会负责引脚配置。 不漂亮,但它对我有用。
import subprocess
def main():
subprocess.call(['sudo','rmmod', 'i2c_dev'])
subprocess.call(['sudo','rmmod', 'i2c_bcm2835'])
subprocess.call(['sudo','modprobe', 'i2c_dev'])
subprocess.call(['sudo','modprobe', 'i2c_bcm2835'])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.