I2c总线与Raspberry Pi(Python)编程问题

2024-06-16 11:34:14 发布

您现在位置:Python中文网/ 问答频道 /正文

基本上,我需要为我的项目使用python打开和关闭输出模块,并将其放入循环中

import smbus
import time

b = smbus.SMBus(1)

for x in range(0, 3):
b.write_byte_data(0x20, 0x14, 0xDB)
b.write_byte_data(0x24, 0x14, 0xD6)
time.sleep(1)
b.write_byte_data(0x20, 0x14, 0x04)
b.write_byte_data(0x20, 0x14, 0xFD)

我的问题是,第7行代码打开了2个输出,第10行和第11行我希望其中一个关闭,但另一个仍然打开。我对编程比较陌生,对自己的工作也不太了解。 首先我试着一个接一个地打开它们:

b.write_byte_data(0x20, 0x14, 0xFB)
b.write_byte_data(0x20, 0x14, 0xDF)

但这只会在一瞬间打开第一个,然后又关闭(最后一个保持打开)。所以我用十六进制把它们加在一起。现在我做的时候他们都关掉了:

 b.write_byte_data(0x20, 0x14, 0x04)

或者有没有更好的方法打开多个输出,然后一次关闭一个输出?我希望这是可以理解的,我的英语不是很好,对不起


Tags: 项目代码inimportfordatatime编程