
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
Hallo, ich habe ein Problem mit den I2C Bus! Ich möchte am I2C Bus 4 PCF8574A betreiben, davon zwei als Ausgänge und zwei als Eingänge! Die Ausgänge kann ich ohne Probleme ansprechen, nur die Eingänge zeigen Null Reaktion! Ich habe im Forum gefunden, dass man den PCF, wenn man ihn als Eingang nutzen möchte erst auf HIGH setzen muß, aber was ich auch Probiere, es funktioniert einfach nicht. Hier mal meine Programmzeilen mit denen ich die PCF´s ansprechen: '---------------------------------------------------------------------------- '--- I2C-Bus Ansteuerung - Daten empfangen --- FUNC FC_I2C_EMPFANG i2c_start ' I2C-Bus starten i2c_write(113) ' Adresse senden i2c_read(PCF1_Daten) ' Daten lesen i2c_stop ' I2C-Bus stoppen i2c_start ' I2C-Bus starten i2c_write(115) ' Adresse senden i2c_read(PCF2_Daten) ' Daten lesen i2c_stop ' I2C-Bus stoppen ' i2c_start ' I2C-Bus starten ' i2c_write(117) ' Adresse senden ' i2c_read(PCF3_Daten) ' Daten lesen ' i2c_stop ' I2C-Bus stoppen ' i2c_start ' I2C-Bus starten ' i2c_write(119) ' Adresse senden ' i2c_read(PCF4_Daten) ' Daten lesen ' i2c_stop ' I2C-Bus stoppen return END FUNC '---------------------------------------------------------------------------- '---------------------------------------------------------------------------- '--- I2C-Bus Ansteuerung - Daten übertragen --- FUNC FC_I2C_SENDEN i2c_start ' I2C-Bus starten i2c_write(120) ' Adresse senden i2c_write(PCF5_Daten) ' Daten senden i2c_stop ' I2C-Bus stoppen i2c_start ' I2C-Bus starten i2c_write(122) ' Adresse senden i2c_write(PCF6_Daten) ' Daten senden i2c_stop ' I2C-Bus stoppen ' i2c_start ' I2C-Bus starten ' i2c_write(124) ' Adresse senden ' i2c_write(PCF7_Daten) ' Daten senden ' i2c_stop ' I2C-Bus stoppen ' i2c_start ' I2C-Bus starten ' i2c_write(126) ' Adresse senden ' i2c_write(PCF8_Daten) ' Daten senden ' i2c_stop ' I2C-Bus stoppen return END FUNC '---------------------------------------------------------------------------- '---------------------------------------------------------------------------- '--- Slave/Master - Datenübertragung --- 'Datenübertragung vom Slave zum Master ' '----------- FUNC FC_SM_UEBERTRAGUNG if not MB_UEBT_EIN then ' Überprüfung ob Übertragung freigegeben ' Überprüfung ob Senden freigegeben werden kann if not Sendesperre or not IRQ_SM or not IRQ_MS or DATA<=&b11111111 then return ' Übertragung abbrechen ........ usw. '---------------------------------------------------------------------------- ' --------------------------------------------------------------------------- ' Die I2C-Routinen einbinden ' --------------------------------------------------------------------------- INCLUDE "om_i2c.pro" ' --------------------------------------------------------------------------- ' Die Firmware-Routinen einbinden ' --------------------------------------------------------------------------- INCLUDE "om_fw.pro" Vieleicht weis ja jemand wo mein Fehler liegt?? Vielen Dank im vorraus, Olaf |
| Antwort schreiben |