Goeiemiddag,
Ik zal me eerst even voorstellen, ik ben richard blokpoel,
en ik ben nieuw hierzo,
Ik heb een vraag over de MCP23017 16 bit I2C IO expander,
na veel gexperimenteer met velleman's K8055 en K8000 besturings kaarten heb ik besloten dat het veel leuker is om ze zelf te maken, zo gezegd zo gedaan,
de Philips PCF8574AP IC's werken perfect,maar ik kwam ook de MCP23017 tegen die 2x zoveel IO poorten heeft, ik heb deze ook aan m'n I2C bus gekoppeld maar krijg hem niet aan de praat,A0,A1 en A2 heb ik aan GND gehangen, er zit er nog maar één tussen nu, maar ik snap het protocol waarmee je hem aan moet sturen niet, dat verhaal met die registers kan ik niet uitkomen,
kan iemand mij ALSJEBLIEFT helpen,
groeten
Richard
Richard,
Het protocol om die dingen te besturen staat exact in de datasheet. Ik raad je aan die goed te lezen. Als je wilt heb ik wel een stukje PIC assembler code waarin de expander wordt aangestuurd (echter wel de SPI variant en niet de I2C variant). Als je dat wilt hebben kan dat, moet je een mailtje sturen.
De datasheet is misschien wat intimiderend. Zo'n expander heeft immers een heleboel opties en registers. Echter, er zijn er maar twee maal twee echt wezenlijk:
IODIRA/B: bepaalt of een port input of output is
GPIOA/B: om te lezen of schrijven naar een poort
Zorg er in eerste instantie voor dat je deze kunt lezen/schrijven, de rest is voor meer geavanceerde mogelijkheden zoals on-change interrupts.
Groeten,
Frans
Inderdaad, de datasheet is erg onoverzichtijk,
maar ik heb alleen die twee(of vier) registers nodig?
ik kom ook overal IOCON.BANK = 1 of 0 tegen, wat is
deze IOCON.BANK?
Ik stuur het hele spulletje aan via labview, de philips
ic's zijn heel handig in gebruik, maar deze duidelijk
niet,
Morgen verder experimenteren, in iedergeval iedereen
bedankt,
Richard
Dat gedoe met IOCON.BANK maakt het wat lastig. Het komt erop neer dat er twee verschillende adreslijsten bestaan voor de registers. IOCON.BANK bepaalt welke wordt gebruikt.
Voor sommige applicaties is het één wellicht handiger dan het andere; in de meeste gevallen maakt het waarschijnlijk niet uit. De power on reset waarde is IOCON.BANK=0. Dan geldt adresseringstabel 1.6 uit de datasheet. Ik zou die gewoon gebruiken als ik jou was, en vervolgens vergeten dat het IOCON.BANK bitje bestaat.
Frans
Als ik vandaag tijd heb gaan we weer een poging wagen,
eerst hypotheek ellende oplossen, is ook belangrijk
alvast bedankt weer