Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: I2C-COM Kategorie: I²C-Bus (von Joerg C. - 7.01.2009 22:58)
Als Antwort auf I2C-COM von Wolfgang - 7.01.2009 22:07
Ich nutze:
C164CI-ControllerBoard, C-Control II Station, eigenes Board, OSOPT V3.1
Hallo Wolfgang,

Du lässt deine max7311.setDDR() Funktion über den gesammten Adressbereich laufen,
damit gibt es einen Adresskonflikt mit den beiden pcf8574 im I2C-COM Modul.

Siehe max7311.c2 Header:
/* Adressüberschneidungen:                                        */
/* 16 - 23 : 0x40 - 0x4E : PCF8574                                */

Wieso das aber erst beim Aufruf von i2ccom.initCOM() ein Problem gibt und nicht bereits beim
Anschliessen des Bausteins ... ?!

Spar doch mal die Adressen 0x4C bis 0x4F (also 22..23) aus bei deiner max7311 Suche.

Gruss,
Joerg C.

> Hallo CC2-Experten,
>
> ich betreibe mit einer C-Control II Station und Zusatzbaugruppen die Steuerung von 16 Jalousien,
> 10 Magnetventilen und div. andere Dinge. Alles funktioniert perfekt.
> An der Initialisierung von I2C-COM verzweifle ich aber langsam.
> Nachfolgend mein Testprogramm:
>
> thread test
> {
>   byte adr, i, wert;
>   loop  {
>             for i = 0 ... 63
>                 {
>                   max7311.setDDR(i, 0, 0);   //Bausteinadresse 0-63, Port 0, 0=Ausgang
> //                max7311.set(i, 0, 1);
>                   wert = max7311.get(i,0);
>                   lcdext.clear();
>                   lcdext.goto(1,0);
>                   lcdext.print("Adresse");
>                   lcdext.goto(1,9);
>                   lcdext.zahl2(i);
>                   lcdext.goto(2,0);
>                   lcdext.print("wert");
>                   lcdext.goto(2,9);
>                   lcdext.zahl(wert);
>                   sleep 1000;
>                }
>        }
> }
>
>
> thread main
> {
>     lcdext.init();                             //Initialisierung LCD-Anzeige
>     stports.init();                            //Initialisierung aller Ports
>     lcdext.print("  C-CONTROL II");            //Textausgabe auf LCD
>     lcdext.line(2);                            //Positionierung auf Zeile 2 LCD
>     lcdext.print("    STATION");               //Textausgabe auf LCD
>     sleep 200;
>
>     stports.init();
>     stports.alloff();
>     stports.LCDlight(1);
>     i2c.init();
>
>    i2ccom.setDataPCF(7);       //Daten-PCF-Adresse
>    i2ccom.defineCOM(1,6,0);    //Portnummer, Kontroll-PCF-Adresse, Sub-Adresse (Jumper SUB)
> //   i2ccom.initCOM(1,0,1);      //Portnummer, Automatisches Handshake, FiFoType
> //   i2ccom.setspeed(1,8);
>   run test;
>   halt;
> }
>
> Thread test zeigt die Adressen der angeschlossenen I2C-RT16 und I2C-Port16 an.
> Sobald "// i2ccom.initCOM(1,0,1)" aktiviert wird, geht nichts mehr.
>
> Könnte der Baustein defekt sein?
>
> MfG Wolfgang
>


    Antwort schreiben


Antworten:

Re: I2C-COM (von Wolfgang - 8.01.2009 13:06)
    Re: I2C-COM (von Joerg C. - 8.01.2009 15:27)
        Re: I2C-COM (von Wolfgang - 8.01.2009 17:54)