这是覆盆子派上的。
我能够使用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()会将引脚函数恢复为默认的I2C函数,但它没有。我还确认了使用
i2cdetect -y 1并确认I2C真的不起作用。
如果不重新启动,我如何使用python以编程方式将引脚重新编程回I2C函数?
发布于 2021-04-11 08:13:57
好的..。对于那些面临同样问题的人,这是我的变通办法
在我需要使用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'])https://stackoverflow.com/questions/67033378
复制相似问题