Ich kaufte ein MCP23017 für meinen Raspberry Pi, um die GPIO-Pins zu erhöhen.Die Informationen von MCP23017 mit Python erhalten
Ich habe es zur Zeit installiert und ich versuche, die zusätzlichen Pins zu bekommen, die ich habe; GPB0-GPB7 auf der linken Seite und GPA0-GPA7 auf der rechten Seite, um meine Gebote zu erfüllen.
muss ich sie mit Eingangspins setzen einen HIGH und LOW-Status zu lesen, und fügen Sie die Pull-up-Widerstände zu ihnen, aber das ist so weit wie ich bekommen haben:
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)
Wenn ich versuche zu lesen der Wert, es gibt mir seltsame Zahlen, und ich kann kaum eine Erklärung auf den Hexidecimals und den Binärzahlen finden, und es wirft mich total ab. Das Datenblatt scheint wie Chinesisch zu mir ..
Jede Hilfe würde WIRKLICH geschätzt werden!
Haben Sie Widerstände auf A0, A1 nach unten ziehen haben, und A2? –
A0 A1 und A2 sind alle 3 mit Masse verbunden. – user5740843
Möglicherweise müssen Sie das Bit 'SEQOP' im Register 'IOCON' setzen. Standardmäßig ist der sequenzielle Vorgang aktiviert, bei dem der Adresszeiger inkrementiert wird. Was ist die Ausgabe von 'sudo i2cdetect -y 0' und' sudo i2cdetect -y 1'? –