我买了一个MCP2317作为我的覆盆子Pi来增加GPIO引脚。在
我目前已经安装了它,我正试图得到额外的引脚,我有;GPB0-GPB7在左边,GPA0-GPA7在右边做我的出价。在
我需要将它们设置为输入引脚,以读取高和低状态,并将上拉电阻加到它们上,但这是我得到的:
import smbus
import time
bus = smbus.SMBus(1) # As I'm using an newer RPi.
DEVICE = 0x20 # this is what it shows when I check it.
IODIRA = 0x00
GPIOA = 0x12
bus.write_byte_data(DEVICE,IODIRA,0xFF)
bus.write_byte_data(DEVICE,0x0C,0xff)
value = bus.read_byte_data(DEVICE,GPIOA)
当我试着读这个值时,它给了我奇怪的数字,我几乎找不到任何关于六边形和二进制数的解释,它让我无法接受。数据表在我看来像中国人。。在
任何帮助都将不胜感激!在
这个脚本将打开GPIOA和GPIOB的内部上拉电阻。然后它将每秒打印一次所有寄存器的值。您可以使用输出来观察寄存器值在更改输入时的变化。在
示例输出
^{pr2}$我在一个Adafruit LCD Keypad Kit上使用MCP23017,所以一些引脚被电路板拉低了。在
了解端口值
每个端口有8个GPIO引脚。如果一个端口的所有引脚都被拉高,该端口的十六进制值将为0xFF。如果一个引脚被拉低,该引脚的位将为零。例如,如果GPA0被拉低,GPIOA寄存器的值将为0xFE:
相关问题 更多 >
编程相关推荐