Re: PCF8591 Kategorie: I²C-Bus (von Rainer - 21.07.2005 10:16) | ||
Als Antwort auf Re: PCF8591 von krassos - 20.07.2005 23:40 | ||
| ||
> 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. mfg Rainer | ||
Antwort schreiben Antworten: Re: PCF8591 (von krassos - 21.07.2005 11:31) Re: PCF8591 (von krassos - 21.07.2005 11:34) 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) |