
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
Hallo zusammen, ich bin gerade an die Grenzen meiner M-Unit gestossen und bin gerade dabei eine Porterweiterung via PCF8574AT zu realisieren. Damit ich auch die ausreichende Geschwindigkeit erreiche habe ich die I2C Assemblerroutine geladen und möchte über diese auf den PCF zugreifen. Jetzt kann ich alle Ports umschalten (7-1), ausser Port0 dieser ist immer LOW. Wo liegt da mein Denkfehler im Programm? Zur Verdeutlichung hier meinen Testquelltext: Kann mir da jemand einen Hinweis geben? Danke Maik '------------------------------------------ ' Definitionen der I2C-Einsprungadressen '------------------------------------------ define I2C_START &h101 define I2C_STOP &h10e define I2C_READ &h12f define I2C_WRITE &h119 define I2C_GETACK &h156 define I2C_SENDACK &h173 define I2C_SENDNACK &h17C '------------------------------------------ ' Definitionen der šbergabe-Variable '------------------------------------------ define BASIC_IO byte[1] ' Übergabe mit 1. BASIC-Variablen-Byte ($A1) define BaseAdr byte[2] ' Basis-Adresse des ersten Moduls define Base8574a &b01110000 ' Basis-Adresse PCF 8574A '------------------------------------------------------------------------- #main BaseAdr = Base8574a sys I2C_START BASIC_IO = BaseAdr 'moduladresse sys I2C_Write BASIC_IO = &b11111111 'alle 8 ports sollten auf 1 sein sys I2C_WRITE sys I2C_sendACK sys I2C_STOP end |
| Antwort schreiben |