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

Re: PCF8591 Kategorie: I²C-Bus (von krassos - 21.07.2005 11:34)
Als Antwort auf Re: PCF8591 von krassos - 21.07.2005 11:31
Ich nutze:
C-Control II Unit, CC2-ReglerBoard, OSOPT V3.0
> > > Hallo Rainer,
> > >
> > > im Datenblatt kann ich auch nix besonderes finden, was das erklären könnte.
> > > Bleibt der I2C.
> > > Versuch es doch mal mit einer Modifikation in pcfad.c2 um zumindest den Fehler eingrenzen zu
> > >können.
> > >
> > >
> > > /*************************************/
> > > /* Einzelnen AD-Port abfragen        */
> > > /*************************************/
> > > function getAD(byte addr, byte ADport) returns byte
> > > {byte data;
> > >  if i2c.cstart(Addr[addr])
> > >  {
> > >   i2c.write(settings[addr] or (ADport and 0b11));
> > >   yield;
> > >   i2c.stop();
> > >   i2c.cstart(AddrR[addr] or 1);
> > >   i2c.read();//dummy, needed for first sampling
> > >   data=i2c.readlast();
> > >   i2c.stop();
> > >    }
> > > else
> > >  {
> > >  i2c.stop();
> > >  error = error+1;
> > >  }
> > >  return data;
> > > }
> > >
> > >

> > >
> > > error definierst Du als int global am Anfang
> > > des Moduls pcfad.c2. Dieser Fehlerzähler erfasst, wenn der 8591 nicht auf eine
> > > Adressierung antwortet.
> > > Diesen Fehlerzähler kannst Du Dir dann auf dem LCD anzeigen lassen.
> > > Sollt er nicht zählen, liegt es an der Hardware.
> > >
> > > GruÃ? krassos
> > Hallo krassos,
> >
> > danke für den code, aber leider steht mein Problem immer noch. Der Schleifenzähler (error)
> > funktioniert, wenn ich die Adresse abändere oder die Datenleitung entferne.
> > Habe das Betriebssystem, Entwicklungsumgebung, halt alles neu runtergeladen und installiert.
> > Auch mit einer 2. C2 mit Board und einer neuen Leiterplatte mit einem neuen 8591 mit den
> > Widerständen 10k gegen Vdd, 330 Ohm an den Datenleitungen, verschiedene Kabellängen und
> > -längen.
> > Eine Ansteuerung eines 8574 im laufendem Testprogramm (Relais) fünktioniert ohne Probleme.
> > Auch das Auslesen mehrerer 8591er klappt, nur mit den falschen Werten (ab und zu werden die
> > richtigen Werte auch angezeigt). Der Wert 128 wird am häufigsten angezeigt und meistens der
> > gleiche Wert (AIN 0-3).
> > Ich vermute, dass die Daten nicht sauber vom 8591 ausgewertet werden können. Eine Geschwindig-
> > keitsherabsetzung für den Datenstrom habe ich nicht gefunden.
> >
> > Nach rund 30 h bekomme ich langsamm die Kriese, aber es muss ja funktionieren.
> >
>
>
> Hallo,
> versuch doch mal die Funktion getAD4() einzusetzen.
>
>
> GruÃ? krassos

Sorry, wer lesen kann ist klar im Vorteil.
Ich hatte übersehen, das Du diese Funktion schon probiert hast.

krassos


    Antwort schreiben


Antworten:

Re: PCF8591 (von krassos - 21.07.2005 11:43)
    Re: PCF8591 (von Rainer - 21.07.2005 12:18)
        Re: PCF8591 (von Rainer - 21.07.2005 12:45)
            Re: PCF8591 (von Rainer - 21.07.2005 19:27)